一步一步搭架子(完結篇)


如果您是初次閱讀這個系列,請先去《Index & Writing Plan》查找並閱讀“架構設計系列”的前兩篇文章,順序閱讀會使您有更好的閱讀體驗

強烈推薦配合源代碼閱讀本文:點擊此處下載(可以直接運行,會在本地自動生成數據庫)

 

正文開始

上一篇我們寫完了Service,剩下Controller和View,但是這兩個都是沒什么可說的了:

Controller其實就是接收Service處理過的數據,並且呈現給頁面;因為業務邏輯已經在Service中處理過了,所以Controller無非就是將數據稍微修改一下,比如說日期的顯示方式,2012/11/15,還是2012-11-15

而View,也沒什么和構架相關的東西,一筆帶過

 

我這篇文章真正想寫的是我和我同事的討論

同事提出了一個想法:按照之前的架構,每個學校我都要去寫一套Controller與View,而其實這里面並不是所有頁面都有差異的。比如說TeacherList頁面,雖然不同的學校有不同的差異字段,但是List頁面不一定會將差異字段顯示出來。比如說現在A、B、C三所學校TeacherList要顯示的字段是一樣的,那么我還去寫3套Controller和View,是不是顯得很傻

根據分析老系統,大概有30%以上的頁面是沒有差異的

他也提出了他的構架圖,其中Controller和View是否相同的判斷可以通過.NET MVC強大的路由功能來精彩的實現,有興趣的同學可以自行搜索相關文章

 

這個構架的大體思路就是:什么不同,我就重寫什么;有且只在需要的時候重寫

 

看起來很美妙,整個構架相當精煉,沒有多余的地方,但是真的是無懈可擊的么?

以下是我和他的Skype的聊天記錄:

我:有3種層次:

         1、業務邏輯不一樣,重寫Service

         2、頁面邏輯不一樣,調整Controller

         3、頁面不一樣,重寫頁面

         可以這樣整理吧

他:我想的是這樣

         但不知道實際開發時會不會搞亂。

我:我覺得還是弄簡單點好吧

         我自己都覺得理解起來有些困難

他:不知道怎樣才能簡單。

         route 重定位這里本來就比較復雜的。

         調整Action 很容易搞亂。

我:我再想想

他:稍微多寫點東西,項目結構簡單。這樣應該好一點

我:是啊,簡單的往往是最好的

         我聽說過一種說法,說是你把系統構架圖畫出來

         如果系統構架圖漂亮,那么就是一個好系統

他:ACTION 配置多會比較麻煩

         盡量少點像剛才的那種 VIEW 和Controller循環重定位的東西。

我:要不還是每個城市寫一套Controller和View算了

         T4模板弄好的話,這個也挺快的

他:這個再想想,到時候去會議室討論吧。

 

是的,我們都認為這個構架的最大弱點在於復雜

連設計構架的人都會被弄得思維混亂,那么幾乎可以確定這個構架對於使用者來說,相當的不友好,雖然減少了代碼量,但是增加了邏輯負擔

 

最后我們討論的結構是:維持原有構架

因為權衡之后,覺得依靠T4模板,寫Controller和View並不是多重的負擔

 

就此,整個項目的構架都這樣定下來了,准備應用到生產環境中

就此擱筆

 

PS:VS212真心好用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM