个人对于架构设计的理解
處在待業狀態最適合做的事情就是對以前的工作和學習做一個總結。
?? 讀過一些開源的架構,比如PetShop的架構,Nhibernate的架構,ibatis.net的架構。
?? 自己寫過的架構,從最早的簡單三層,到面向服務,面向對象,面向接口編程思想的架構的轉變,順便乘著空余時間做下總結,很分析。
?? 也希望得到高人指點,給初學者一些幫助。
?? 我個人不是太過喜歡于ORM框架,但如果在適合的時候或者對ORM有偏向的時候,我想我也會對架構做一個ORM設計,但目前不是。
?? 從整體來說,整個架構設計采用服務的思想,比如ObjectService繼承于IObjectService接口。這個就是接口服務層和實現服務層的組成。
?? 接口服務層Company.Web.IService 實現服務層Company.Web.Service。
?? 在整個業務系統中包括業務層 Company.Web.Business,在業務層中做基類BaseDao,所有的業務DAO繼承于BaseDao。
?? 業務系統模塊還包括 實體層 Company.Web.Model,
?? 該實體層作用包括三個方面,Entity用來定義實體,Collect用來存放實體集合,Table用來規范數據庫字段名稱。
?? 對于接口與實現分離的銜接,通過服務適配器來實現,在boot.config中做接口和實現的配置,讓適配器讀取服務做緩存處理。
?? 對于數據庫訪問層可以通過DbProvider實現多數據庫的通用性,通過如下配置以什么方式如何做數據庫訪問處理。
??<Service Type="Company.Web.IDbUtilities.IDbService, Company.Web.IDbUtilities" Driver="Company.Web.DbUtilities.SqlService, Company.Web.DbUtilities" />
?? /// <summary>
?? /// 數據庫訪問服務
?? /// </summary>
?? public static IDbService DbService
?? {
?? get
?? {
?? return (IDbService)ServiceManager.Instance.GetService(typeof(IDbService));
?? }
?? }
?? 在基于提供的基礎服務中,除了DbUtilities,還包括Company.Web.IConfiguration,Company.Web.ICache服務。
?? Configuration服務主要作用是記錄基本客戶信息和系統處理基礎信息,必要時當然包括系統運行方式的選擇比如基于Local,或者Remoting,或者WebService。
?? 業務層包括2塊,是基于服務端的業務層和客戶端的業務層。目前實現的方式是通過WebService。
?? 以下為架構截圖
總結
以上是生活随笔為你收集整理的个人对于架构设计的理解的全部內容,希望文章能夠幫你解決所遇到的問題。