|
前言:
本系列文章主要講述一個實實在在的項目開發的過程,主要包含:提出問題,解決問題,架構設計和各個邏輯層的實現以及新問題的出現和代碼的重構。本系列文章以故事的形式展開,而且文章列舉的很多項目的名稱,大家也不用太關心,很多都是虛擬的。
本篇主要講述項目的一些背景
新人Richard被分配到了一個企業自動化信息管理項目組--Automation Information Management Project(后面簡稱AIM),當Richard進入項目組的時候,這個項目已經開始了,項目的架構也已經在兩周之前構建好了--SOA架構,而且使用的主要技術也敲定了:WCF, Linq.
注:因為項目是首次采用新技術(因為以前沒有使用WCF,Linq,所以被稱為新技術),項目就這樣開始進行了。
半年之后問題就開始出現了(其實問題就一開始就出現了,只是大家還認為問題不大):因為當初在設計的時候,項目的架構是由項目組的其他兩個人設計的,整個項目開發基本上就沒有采用面向對象的思想來開發,而且雖然在架構設計上分了:數據層,業務層,服務層,和UI層,但是各層之前是緊緊的耦合,可以說是牽一發而動全身:如數據訪問層稍微一改,業務層就跟著動,然后改變一層層的開始波及。
大家都開始覺得這樣很累,但是項目已經做到這個階段了,不可能重來。每次新需求一來,項目的的改動可以說是天翻地覆。而且當初設計架構的那位仁兄也就項目一開始的一個月后就走了。
下面的圖就展示項目中的架構設計:
咋一看起來還是不錯的,一般的架構都是這樣設計的。下面就開始講述它們之間的一些調用關系,看看有什么問題:
數據訪問層:
public class EmployeeDAL
{
public List<Employee> GetAllEmplyees()
{
//...
}
}
NET技術:.NET分布式架構開發實戰之一 故事起源,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。