2. 技術上。問題域分解為,縱向的技術主題,以及橫向的技術職責的分解和集成。
所以通常而言,領域模型設計中,模塊分解,抽象分層和職責分層都是重要手段。問題域為:流程,業務實體和計算(包括規則)。
對象的抽象分解和集成
對象的依賴分解和集成(模塊內和模塊外)
流程的分解和集成(頁面流,工作流以及計算流程)
進程邊界:用戶請求重定向,以及業務數據持久化等。
BTW:通常語言做為架構的基礎引入和更換是有巨大風險的;而通過提供強大的框架能力,框架盡可能多的完成技術問題,并通過元數據,模式以及約定降低業務和框架的耦合。避免因為框架升級帶來不必要的成本。
從技術手段上,提高開發效率的另外兩個手段是代碼生成和類庫引用。但代碼生成和類庫引用,都只解決了邏輯的分解能力,沒有提供集成能力,所以一般情況下需要提供框架集成,尤其代碼生成需要在系統的最外層,避免集成帶來的問題。
對于開發團隊來說,額外面臨一個問題,組織內部的學習成本問題。
1. 需要保持分解以及集成能力本身的簡約性
這個……其實是一個culture問題,不再羅唆!
2. 采用模式和約定是減少學習成本的另一種手段。ROR的興起就是最好的例證。
總結一下,解決架構面臨開發成本問題需要如下幾個方面:
0. 問題域
1. 分解與分層
文章來源于領測軟件測試網 http://www.kjueaiud.com/