天天看點

為什麼要架構?當架構走火入魔時怎麼辦

為什麼要架構,我來說說原因

當你希望把複雜問題清晰化時,而不是簡單化,這時需要架構

當你希望把代碼的重複使用率提高時,需要架構

當你希望對團隊整個進行把控時,需要架構

以上隻是我簡單的總結,下面說說架構之“走火入魔”篇

我很喜歡看武俠電影,喜歡邵氏,邵氏經典,必屬佳片說的一點不錯,在我看大部分武俠劇時,很多情節都是大反派練某種神功,走火入魔的情景,他們為何會走火入魔呢?在我看來是他們對自己目前的情況及目前武功的程次判斷不夠清楚,是以會走火入魔。

那麼當我們在架構設計中走火入魔了,應該如何去魔爪中走出來呢,在我看來,有以下幾點

1 對自己項目要有清晰的認識,選擇适合本項目的架構方式

2 對項目成員要了解,如果整個基礎不是很紮實,應該用比較容易的架構方式

3 對項目的變化度有一個把控,如果項目經理要變,那需要在适當的時候,适應的子產品中引入設計模式及IOC等技術

以下圖中有我用的兩個項目方案:

第一種,少代碼,少耦合,适用于變化度小的場合,對于變化高的子產品,也可以采用局部的IOC,本項目IOC都采用Unity

<a href="http://images.cnblogs.com/cnblogs_com/lori/201203/201203122259243235.png"></a>

在業務層使用了通用資料層引用和個性化的資料層引用

第二種是變化度大,它會提供整個層的IOC注入,通過配置檔案動态反射出來類對象

<a href="http://images.cnblogs.com/cnblogs_com/lori/201203/201203122259338440.png"></a>

資料層,首先定義接口,然後可以根據不同的資料庫進行不同的實作,本實作是SQL資料庫的實作

<a href="http://images.cnblogs.com/cnblogs_com/lori/201203/201203122259363126.png"></a>

WEBUI層将頁面與頁面的Controller建立在不同的項目中,使結構上更清晰,業務上,可以實作一個controller對應多套VIEW模版

<a href="http://images.cnblogs.com/cnblogs_com/lori/201203/201203122259389798.png"></a>

呵呵,人在江湖,身不由已,做項目也是一樣,不是我喜歡采用某種架構,而是因為它适合于這個項目,或者它适合于這個團隊!

上一篇: HDU3466 01背包