簡體   English   中英

業務層設計

[英]Design of Business Layer

我們目前正在改進我們的架構和應用程序設計。 我們剛剛完成了數據訪問層的設計,它是通用的,因為它使用XML和反射來保存數據。

現在我們處於設計業務層的階段。 我們已經閱讀了一些與企業架構和設計相關的書籍,因此我們發現可以在業務層上應用的模式很少。 表格模式和域模型是此類模式的示例。 我們也發現了域驅動設計。

之前我們決定針對表對象構建實體。 但是我們發現實體和價值對象在DDD方面存在差異。 對於那些經歷過這種設計的人。 請指導我關於模式,練習和樣本。

先感謝您! 如果你沒有得到我的任何觀點,請隨時討論。

@Adil,這不是你原來問題的答案,但我建議你修改你推出自己的數據訪問層的決定。 你注意到你想去NHibernate:現在就去做吧。

IMO,寫一個ORM是浪費時間,除非你有一些非常具體的限制。 那里有很多選擇,已經有數百小時的努力。 利用它! LINQ2SQL,實體框架,NHibernate,Subsonic,LLBLGen都很好,還有更多。

還要注意,如果你自己動手,你就不會花費很多精力來使用LINQ的優點。

就分層而言,盡量不要堅持:保持層數,並集中精力在它們之間建立一個有價值的界面,以防止你的抽象泄漏。

我已經看到了一些非常“模式化”,精美分層的項目,這些項目在使用中最終到處都是邏輯,並且持久性抽象在整個地方泄露。 把事情簡單化!

CSLA.NET非常適合作為業務層的基礎。

@Adil,

我不是很有經驗的用戶,無論如何,這是我正在使用的那種模型(也與NHibernate一樣)。

GUI - 包含所有Web表單等BLL - 負責創建新對象實例的目錄DAL - 實現負責與NHibernate交互的類的位置。 NHibernate映射文件在這里。

Model - BLL和DAL用於數據傳輸對象的類庫。

使用不同的模式。 例如,BLL和DAL具有允許訪問接口的Factory類。 目錄是Singleton類。 可以使用表示我的業務邏輯頂級對象的主Singleton類來訪問所有目錄(例如“Enterprise”=>“Enterprise.PeopleCatalog”。

無論如何,希望它有所幫助......

@AngryHacker,感謝您的提示,您能舉一個CSLA.NET的例子嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM