開源.NET平臺業(yè)務項目實踐之列出技術(shù)方案
最近一段時間一直思考和總結(jié),如何快速,方便靈活的開發(fā).NET平臺的ERP/MIS類型軟件系統(tǒng)。
EPN是一套以ORM技術(shù)為基礎的C#.NET WinForms開發(fā)工具,框架和業(yè)務實踐,名稱取自英文單詞Intellligent Enterprise Solution的簡寫。隨著時間的推移,逐步得到完善。
心里也一直想推廣這個技術(shù)實踐,雖然還有很多地方不完善,但是沒有源碼,大多數(shù)的開發(fā)人員并不感興趣。曾經(jīng)把源碼,Visual Studio 2008/2010,SQL Server 2005都安裝在一個虛擬機里面,供開發(fā)人員直接下載使用框架進行開發(fā),效果也不好。對于開發(fā)人員,對微軟的源代碼是沒有什么興趣的,微軟的很多框架,工具表面上不開源,但是你用Reflector同樣可以得到它的源碼,對此,我深有體會,容易得到的東西,通常都不會珍惜。
這個系列的文章,也沒有打算完全把自己的業(yè)務框架開源,而是想構(gòu)建一個輕量級的業(yè)務框架,并把它開放源碼。輕量級的含義是指仍然是完整的開源業(yè)務框架,但是缺少開發(fā)工具的支持,缺少集成的業(yè)務系統(tǒng),只支持一種數(shù)據(jù)庫。
先搭個框架頁面,來看看要達到的效果
這是個測試頁面,你可以使用下面這篇文章中提到的源代碼框架,快速建立這個模型。
請參考文章《Management Console 工具管理類軟件通用開發(fā)框架(開放源碼)》獲取原型框架的代碼。
需求列出
多國語言,要能實現(xiàn)多種語言的界面,先支持英語,中文簡體和繁體。
實現(xiàn)四大類標準的窗體
EntryForm 業(yè)務單據(jù)窗體 比如輸入采購單,采購送貨
ReportForm 報表窗體 比如送貨單報表,采購單追蹤報表
EnquiryForm 業(yè)務查詢窗體 查詢已經(jīng)過帳的業(yè)務單據(jù)窗體
FunctionForm 功能窗體 基本的功能 比如月結(jié)
報表可以通過瀏覽器訪問,選擇Reporting Services作為報表方案最合適。
工作流支持。支持簡單的提醒,審批,日記帳過帳工作流,可自定義流程。
權(quán)限部分 日記帳權(quán)限,系統(tǒng)管理權(quán)限(數(shù)據(jù)庫操作,用戶管理)
數(shù)據(jù)審計 可對指定的業(yè)務數(shù)據(jù),設定審計,以跟蹤變化。
技術(shù)方案列出
既然是WinForms,肯定要選ORM工具,選擇LLBL Gen 3.1。ORM工具+Data Binding可以減少很多代碼。不選擇NHibernate,也不選擇Entity Framework,因為對這兩個框架不熟悉,用起來不順手。
數(shù)據(jù)庫選擇SQL Server,穩(wěn)定,容易使用的數(shù)據(jù)庫。如果做.NET開發(fā),SQL Server通常是默認的數(shù)據(jù)庫選擇。
應用層使用.NET Remoting作為支持數(shù)據(jù)訪問的入口,可以處理并發(fā),多用戶在線的情況。
總結(jié):不要打擊開源,源碼總有適合閱讀的人;也不要依賴開源,源代碼也解決不了你的問題,做項目大部分的時間靠積累,靠沉淀。有機會接觸到百萬行級別的代碼是幸運,也是不幸運的開始,你要從成堆的代碼中理出頭緒,挖掘出骨干框架,也并非容易的事情,***若能以此提煉出開發(fā)框架,也算是一種努力。保護源代碼,給程序集加密是一回事,分享源代碼中的經(jīng)驗是另一回事,愛情向左,婚姻向右,你總得要找出一些事情來做,給自己的生活帶來一絲改變。
原文鏈接:http://www.cnblogs.com/JamesLi2015/archive/2011/09/02/2163304.html
【編輯推薦】