ASP.NET Web開發框架之八 所有ERP部分的源代碼全部開放下載


前面的文章講解了技術細節,這一篇來了解一下這個框架的制作前后,經歷的一些思考。代碼只對部分需要的朋友有用,重要的是經歷和思路。前后花了3個月的時間,完成了這個基礎的ASP.NET頁面框架。

功能導航

來看一個整體的效果圖,圍繞這個圖,看圖說話,看看各個部分是如何完成的。

image

ERP系統功能多,如何設計一個簡潔的界面,承載它的功能導航,一努力追求的目標。這里的菜單均是用菜單設計器設計出來,代碼中只是讀出來,並呈現成樹結構。一段時間曾把它分離到X_Menu表中,后來又合並代碼,直接讀取框架的菜單表,這樣達到B/S與C/S的統一。雖然不可能同時有兩種實現,但以此為技術追求,尋求好的實現方法。

同步對比一下,C/S程序上的實體,和上面的界面模式幾乎相同。

image

來看一個具體菜單項System Administration的界面模式,它如下圖所示

左邊的樹節點,右邊展示了它下面的功能類型,這個部分的設計,以菜單設計器設計它,先是功能類別,再為具體功能。

 

數據庫

SQL Server是首選的數據庫平台。其次,SQL Server有許多版本,高版本的可讀取低版本的數據文件,但是一旦附加進入后,低版本的SQL Server再也無法讀取這個文件。一開始以SQL Server 2008 R2開發,后來意識到要兼容於客戶方面的的選擇,果斷把所有數據都遷移到SQL Server 2005中。版本信息是

SELECT @@VERSION
Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)   Nov 24 2008 13:01:59   Copyright (c) 1988-2005 Microsoft Corporation  Express Edition with Advanced Services on Windows NT 6.1 (Build 7601: Service Pack 1) 

image

一個主數據庫Framework,業務數據庫為TS。請先配置數據庫的主從關系,設定TS的數據庫屬性。

image

框架會為你做很多基礎的工作,這個簡單的配置,可以減少很多基礎的重復的工作量。

 

應用程序結構

首選為插件式結構。框架只關注於自己的基礎數據讀寫,當遇到具體業務數據時,以反射方式交給業務類型去執行。

每個應用分四層,界面層Presentation,接口層IService,接口實現層Manager,業務實體層Businss Logic。

業務邏輯層為LLBL Gen生成,接口層和實現層由Code Smith生成,界面則根據應用布局,並綁定數據屬性。

image

ExtAspNet控件進行了部分定制,修改了少量源碼以滿足框架的應用需要。原計划是以它為基礎進行Extension的,后來發現這樣增加了測試的時間,也不利於修改維護,於是直接修改源碼。這樣帶來的問題是當ExtAspNet控件有新版本時,需要手工合並代碼。選擇Beyond Compare對比兩個版本的文件夾,有差異的地方用不同的顏色區分,打開一個文件后,合並到另一邊,保存即可。

 

數據操作模式

有五種數據操作模式

1 單一實體表 例子比如上面提到的Company.aspx頁面

2 主從表 比如銷售單,有主表銷售單表頭和銷售單明細表

image

有表頭和表明細,一對多的關系。

3 List列表 比如要對一個或多個表進行查詢,顯示到一個頁面中

image

4 Lookup 查找 用於數據選擇  數據查詢

5 Query 自定義查詢 用戶自定義查詢轉化為頁面功能

與List相似,只不過這是由查詢設計器設計出來的,List由程序編碼完成。

 

在數據操作模式一節中,這個問題還要詳細討論,它對數據讀寫影響很大。

下載地址: http://files.cnblogs.com/files/JamesLi2015/EnterpriseSolutionWebSource.rar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM