新聞中心
第一部分 另類的MVC架構(gòu)JVPL架構(gòu)

為企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)站優(yōu)化、營銷型網(wǎng)站建設(shè)、競價托管、品牌運營等營銷獲客服務(wù)。成都創(chuàng)新互聯(lián)公司擁有網(wǎng)絡(luò)營銷運營團隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認可!
(JVPL模式的系統(tǒng)結(jié)構(gòu)圖)
1.JVPL模式(JSON+視圖+處理器+加載器)
1)定義:
JVPL和mvc設(shè)計模式類似,一個變種的MVC設(shè)計模式。
2)MVC的優(yōu)弱點:
MVC讓開發(fā)從原來的 webform中解脫出來,解決了層次清晰邏輯與UI的隔離以及服務(wù)端控件的一些瑕疵等諸多問題,但是MVC的弱點同時也存在.在MVC中我們的Model時常變動,我們必須手動創(chuàng)建Model類和Model的變動修改.同時對于 Model的Action控制操作也需要一定程度上的變動.(由實體框架等生成的實體(Model)是無法滿足現(xiàn)行邏輯需求的).
其次因為實際開發(fā)中沒有銀彈,只有平衡點.V,C之間的邏輯緊密,然而實際的前臺實現(xiàn)和效果需求是變化莫測的, 更加導(dǎo)致美工決定VC的局面,從而VC的重用性很低很低.如果一個頁面存在多個視圖,那么其邏輯就相對不易(我們需要維護多個VC組,我們需要處理VC組的一定邏輯次序,構(gòu)造不同的Model).
3)JVPL設(shè)計模式的優(yōu)勢
1)JVPL(json-視圖-處理器--加載器),如上圖所示.如果我要視圖重用我只要載入所需視圖和加載器即可.var 新的視圖=get("加載器","視圖"); 且Moon.net架構(gòu)會接著腳本引擎幫助我們生成后臺所需代碼.
2)整個JVPL模式建立建立在Ajax的機制上,它具有Ajax所有的優(yōu)缺點.(但我認為Ajax的優(yōu)點>>缺點,且我們可以通過手段解決這些缺點).正如有人說Ajax不安全,因為暴露了系統(tǒng)服務(wù)接口,這完全廢話,難道純的form提交就沒有暴露?這些都是門外漢說的話,因為根本的權(quán)限機制都沒有建立.接著說,正如前面文章提到的視圖數(shù)據(jù)的加載.如果我前臺的邏輯變動系統(tǒng)的邏輯變動,這是Moon.Web會輔助我們生產(chǎn)新的后臺代碼. 如果一個頁面存在多個視圖,那么這多個視圖的加載,我們通過加載器直接調(diào)度即可.因為腳本引擎的存在,它會幫助我們生成后臺代碼和數(shù)據(jù)分配及數(shù)據(jù)轉(zhuǎn)發(fā).Moon.NET中最為精華的部分就是腳本引擎.它也是我們提高開發(fā)效率的關(guān)鍵.
3)在我們的開發(fā)中,前端展現(xiàn)的標準是由策劃及美工定的,所以作為一個開發(fā)者還是架構(gòu)師必須緊密結(jié)合實際進行架構(gòu)或開發(fā).這樣才能提高開發(fā)效率. Moon.Web主要對復(fù)雜的UI控件諸如:編輯器,分頁,異步文件上傳...等控件進行了封裝且提供了美工可控制接口.因為MVC的控件方法也是一樣的.
2.JVPL設(shè)計模式的demo實例
說明:JVPL設(shè)計模式與傳統(tǒng)的ASP.NET開發(fā)完全兼容,且符合MVC的設(shè)計理念.
實例一:程序配置
-------------------------------------配置文件設(shè)置--------------------------------------
--------------->數(shù)據(jù)處理器和數(shù)據(jù)加載器所在的類庫名(放在Bin里面) ----------->數(shù)據(jù)庫的類型 --->連接字符串 --->程序運行的根目錄
//--------------------------------------庫文件引用----------------------
引用Moon.Orm和Moon.Web庫
//-------------------------------------加入腳本庫到根目錄
//-----------------------------------頁面開發(fā)
html結(jié)構(gòu)
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Web.WebForm1" %>
model加載和數(shù)據(jù)更新
- 姓名:
- 性別
- 男
- value="false" type="radio" />女
- 年齡
- 北京戶口
- 年齡段
兩處黃色部分,表示的數(shù)據(jù)的加載和數(shù)據(jù)提交。
- [Log()]//加載的代碼
- public static void GetUserInfo()
- {
- PersonSet data= DBFactory.GetEntity
(PersonSetTable.ID.Equal(1)); - CustomData cus=new CustomData();
- cus.A=1;
- ReturnJSONString(data,cus);
- }
- [Log()]//更新部分的代碼(代碼生成器會自動生成)
- public static void AjaxUpdateUserInfo()
- {
- PersonSet data=new PersonSet();
- string UserName=Request["UserName"];
- string Sex=Request["Sex"];
- string Age=Request["Age"];
- string IsBeiJing=Request["IsBeiJing"];
- string AgePeriod=Request["AgePeriod"];
- string otherData=Request["otherData"];
- string PrimaryKey=Request["PrimaryKey"];
- data.Set(PersonSetTable.UserName,UserName);
- data.Set(PersonSetTable.Sex,Sex);
- data.Set(PersonSetTable.Age,Age);
- data.Set(PersonSetTable.IsBeiJing,IsBeiJing);
- data.Set(PersonSetTable.AgePeriod,AgePeriod);
- data.SetOnlyMark(PersonSetTable.ID.Equal(long.Parse(PrimaryKey)));
- DBFactory.Update(data);
- ReturnTextString(PrimaryKey);
- }
//-----------------------頁面效果及代碼生成效果
第二部分 高效便捷的ORM架構(gòu)Moon.net
1、背景
針對Qin.Data的架構(gòu)設(shè)計反應(yīng)出的一些問題進行了全新的架構(gòu)設(shè)計,彌補了多數(shù)據(jù)源使用不便、同道反應(yīng)不過ORM、自身架構(gòu)的瑕疵等問題。
2、介紹
Moon .ORM是一個通用數(shù)據(jù)庫處理框架(可以包含MSSQL POSTGRESQL,SQLITE EXCEL MYSQL DB2 ORACLE...只要你愿意實現(xiàn)接口就可以)。很便捷地進行常用數(shù)據(jù)庫操作(增刪改查)。其性能是幾近純ADO.NET。對于實體的查詢采用emit實現(xiàn),如果您還不滿意可用此框架的代碼生成器直接生成純ADO.NET SQL形式。其主要特色就是性能和便捷的操作。
3、特色
- 高性能(該框架采用純的ADO.NET進行框架,避免Linq以及反射帶來的性能損失);
- 易用性強(配置簡單,智能感知,代碼生成器的輔助,會sql就可(可以自我性能優(yōu)化)) ;
- 多數(shù)據(jù)庫支持(如果需要可自我擴增,熱烈歡迎同道加入團隊開發(fā)中(聯(lián)系qq:564064202));
- 強大查詢語法糖功能;
- 多數(shù)據(jù)源支持;
- .net framework 2.0原生支持。
4、配置簡單


咨詢
建站咨詢
