我心目中的企業應用系統框架
從事企業應用系統開發也有一些年頭了。從最初的Asp到現在的C#,大大小小的系統也寫了不少。可總是感覺自己每天像是在做重復的,繁瑣的勞動,而這些與我心目中的企業應用系統開發有著不小的差距。老實說,前幾年在技術方面沒有潛心鉆研,當發現自己已經落伍后才感覺有些擔心。所以從今天起,我要全力學習各方面的技術,搭建一個我自己心目的企業應用系統框架。
廢話不多說,框架這個東西網絡上有很多,但不一定是適合每一家公司的。在這里我只說說我心里的想法,并且將這些做為一個提綱,以便在以后的日子了逐個去突破,并最終實現這個框架。(有興趣的朋友可以和我一起學習~~)
我把這個框架分為幾部分
一、關系數據庫
做企業系統開發,拋開數據庫來談是不行的。特別是在制造企業里,每天的數據量大得驚人,因此數據庫對企業系統開發來說是重點,也應該是企業開發框架的一部分。
1、統一的字段規范
在這個框架里,所有的表都應該遵循一個規范。一旦這個規范定義好,框架里的表不遵守規范定義,則不能被應到系統中去。如每個表中都應有一個標識唯一的ID字段,沒有這個字段的表將不能正確的呈現數據。
2、統一歷史記錄
每個表都應對應一個歷史記錄表。
3、統一的EDI交換模式
企業系統難免和其他系統進行數據交換,所有的數據交換都應是統一的。
4、杜絕包含業務邏輯的存儲過程
我個人認為,存儲過程中不應該進行有關業務邏輯的計算,業務邏輯的東西不屬于關系數據庫
二、ORM
有了統一標準的數據庫規范,那對于ORM部分來說就好辦了。不過目前本人對ORM不是很明白,是我有待學習的部分。故不能在這里發表什么意見。只是根據我自己所了解的,準備了一個學習的方向。
1、參考iBitis.Net。
目前在公司里有一個系統在使用這套框架,可惜的是沒有得到重用。我認為這個框架基本上符合ORM的標準,因此它將作為我進行ORM部分的重要參考代碼
2、DataSet不是ORM。
目前公司有些系統是采用DataSet的模式來進行數據操作的。DataSet有自己的優點,但我認為它不是ORM,所以在我以后的框架中,會杜絕DataSet。
三、業務類庫
應全部應用面向對象的思想,對企業進行對象化。在每次需求分析的時候,就著手建立業務對象類庫。這樣隨著需求的逐漸增多,新的業務類將被添加,舊的業務類將被更新或保持不變。最終形成一個包含在類庫中的企業。我個人認為,凡在企業生產、辦公中出現的實體,都應在這個類庫中找到對應的類。
四、基礎工具類
在開發中一些常用的工具類應被封裝,應包括字符處理、圖像處理、基礎運算、類型轉換等等“放之四海皆通用”的方法,這個工具類將會體現本企業所有程序員的經驗與積累。
五、服務器宿主群
呵呵,我自己隨便編的名詞。意思就是應該為企業搭建很多WCF的服務宿主程序,甚至是云服務。不過這個對于很多企業來說有點困難。我自己也是YY而已,具體的要深入學習后才知道。
六、客戶端主框架
1、Web框架
全部Web頁面應采用統一的模板頁。比如上方時標題,接著是菜單,左側是常用鏈接,中間是工作區域。
2、Form框架
如果采用WinForm的客戶端,個人認為應采用菜單欄+工具欄+左側樹形菜單+Tab型的多文檔工作區
3、Office+插件
這個在本公司還沒有應用,但從我的觀察來看,進行Office插件開發對于大量使用Excel工具的部門來說太有用了。因為沒人愿意在熟悉的Excel中做了一份數據,然后再花時間到你的系統中去錄入。
七、界面元素
通常情況下,可采用各種通用的界面元素。當然如果有精力的話,也可以自己開發界面控件。但我個人偏向于購買各種成熟的界面控件
八、界面元素的對象的綁定
這個我也說不上來是什么東西,總認為應該開發有通用的綁定模式。如所有的下拉框、單選框、復選框等是采用統一的綁定模式
九、工作流
用WFF吧,也可以不用自己來寫。個人認為將工作流引入到自己的企業框架中還是很有用的,省去了很多開發
十、賬號與權限
公司實行了AD管理,因此賬號一塊就不用考慮了。那么統一的權限管理則變得重要起來。
以上這十點是我認為我的企業應用系統框架中應該包含內容,大部分我都不是很精通,都需要花費時間來研究。盡管上面有很多話都是在瞎說,該拍磚的請進行拍磚,但也請毫不吝嗇的進行意見指導。如有相同癖好的,也可一起搞搞,哈哈~~