看看這些架構分層,您是否有所收穫

2021-06-10 03:03:59 字數 2771 閱讀 6832

您是否對於分層架構有些迷惑,或者對現有的分層架構模式想再提高一些,看看下面這些或牛人,或碼農的分層架構圖,希望對大家,對自己有所幫助,已撥開分層架構這片迷霧。說明:以下引用自傳說中的弦哥中的一篇文章。

01,user inte***ce即ui層:該層作為資料輸入和展示的介面,是與使用者互動的有效途徑,所以它起著至關重要的作用。往往給人第一印象的就是ui層,在設計的時候也要根據不同的技術或者不同的要求進行斟酌。通常可以把ui分為b/s ui、c/s ui以及web服務。在這裡就是我們的asp.net專案。

02,webmodelcommon:這層作為ui與領域邏輯的中間層,它的充當了橋梁、篩選、過濾和驗證的作用。它主要包括兩個工程,webhelper主要提供給ui一些常用操作。weblogic主要對ui與領域邏輯的資料進行轉換、篩選、驗證及過濾操作。

03,business logic:domain model (data model layer)始終是應用程式的核心,必須投入大量精力,按照物件導向的分析和設計 (ooad) 最佳做法進行設計同時按照oop進行開發。

04,framework:主要包括資料訪問框架、通用許可權框架、異常和日誌處理框架、ioc框架、aop框架等基礎或常用功能。

05,soa:這一層不是必須的,根據專案的具體情況進行取捨,如果業務比較複雜且互動專案繁多,那麼soa可以減輕我們的負擔;如果業務比較單一且相對簡單,就可以直接呼叫或者使用web service/remoting/wcf作為通訊框架即可。在實施soa的過程中,可以自己使用wcf+wf搭建乙個小型輕量級的soa框架,也可以使用諸如biztalk等軟體。

06,reference:這裡主要包括第三方的框架和元件專案,把這些檔案分門別類地集中放在此目錄下。

07,solution items:專案的規範、流程、重要檔案等。

08,test:這裡主要放置測試需要的一些資訊,如測試版本、測試文件等。

09,publish:這個資料夾主要放置發布的版本

作者描述:我在《wcf全面解析》中的乙個例項的解決方法結構,基本思路是:先模組(這裡指粗粒度模組,可以看成子系統)(兩個業務模組:products、orders,乙個非業務模組:infrastructure),後層次。 products.businessentity:提供的業務實體(business entity)型別的定義。一般來講,業務實體和資料契約是不同的,在這裡為了簡單起見,我們不僅僅將二者合一,還將業務實體作為asp.net mvc的model使用; products.dataaccess:資料訪問層,在這裡單純地提供對資料庫的訪問了。該專案具有針對products.businessentity的專案引用; products.businesscomponent:也可以稱為業務邏輯層,真正的業務邏輯實現 在這裡。該專案具有針對products.businessentity和products.dataaccess的專案引用; products.service.inte***ce:wcf服務的契約介面定義在這裡。該專案具有針對products.businessentity的專案引用; products.service:用於定義實現了上述契約介面的服務。該專案具有針對products.service.inte***ce 、products.businessentity和products.businesscomponent的專案引用; products:為本模組提供基本的功能,不僅僅包含對服務的呼叫,也包括一些必要的邏輯處理。該專案具有針對products.businessentity、products.service.inte***ce和products.inte***ce的專案引用; products.inte***ce:模組提供給其他模組的服務介面。該專案具有針對products.businessentity的專案引用 3.

1."解決方案資料夾"能幫助你很好的規劃專案結構

2.通過對"解決方案資料夾"前面加數字1,2,3,4....,能讓專案按你想要的順序排序

3.公司名.專案名.包名.架構名的命名空間 命名約定能讓你的專案結構更清晰

4.分專案的多少還是要根據專案具體情況和架構設計,分太多編譯速度慢不說,其實用起來也麻煩

7..net下大名鼎鼎的cms  ,dotnetnuke(dnn):

8.架構分層中的入門級

心情不好時看看這些

學會 沉默 有時候,你被人誤解,你不想爭辯,所以選擇沉默。本來就不是所有的人都得了解你,因此你認為不必對全世界喊話。卻也有時候,你被最愛的人誤解,你難過到不想爭辯,也只有選擇沉默。全世界都可以不懂你,但他應該懂,若他竟然不能懂,還有什麼話可說?生命中往往有連舒伯特都無言以對的時刻,畢竟不是所有的是非...

如果心累,看看這些

1 學會 沉默 有時候,你被人誤解,你不想爭辯,所以選擇沉默。本來就不是所有的人都得了解你,因此你認為不必對全世界喊話。卻也有時候,你被最愛的人誤解,你難過到不想爭辯,也只有選擇沉默。全世界都可以不懂你,但他應該懂,若他竟然不能懂,還有什麼話可說?生命中往往有連舒伯特都無言以對的時刻,畢竟不是所有的...

當你覺得累了,就看看這些吧

學會沉默 有時候,你被人誤解,你不想爭辯,所以選擇沉默。本來就不是所有的人都得了解你,因此你不必對全世界喊話。卻也有時候,你被最愛的人誤解,你難過到不想爭辯,也只有選擇沉默。全世界都可以不懂你,但他應該懂,若他竟然不能懂,還有什麼話可說?生命中往往有連舒伯特都無言以對的時刻,畢竟不是所有的是非都能條...