软件框架-无绪开发4
生活随笔
收集整理的這篇文章主要介紹了
软件框架-无绪开发4
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
模塊化架構
將單個應用拆分拆分成不同的模塊可大大改善設計。20世紀60年代意大利面條代碼。 模塊化程序,是由不同模塊構成,一個模塊是一組類的集合,模塊中有些類是public級別,外部模塊可訪問;有些是private基本,外部不可訪問。 此外,一個模塊會依賴于其他模塊,并在較高層次上聲明了執行所需的功能性環境。 評價模塊好壞: 檢測模塊間的依賴。 項目都會演進,規模變大。 第一版: 一定要清除所有不必要的交叉引用關系,將API按照邏輯功能進行模塊開發。 只要代碼開始訪問其他無關模塊中的內容時,架構退化就不可避免了。 只關注那些對成功至為重要的關鍵組件 模塊化可使項目更加清楚,更好管理模塊間的依賴關系,維護更加靈活。一開始就模塊化思想進行設計才是王道。1.模塊化計的類型
(1)只與用戶界面有關的代碼不需要提供對外的API,它完全封閉,只需保證功能可用即可。Favorites 幸運模塊 (2)簡單又通用的功能類庫模塊---可使用第三方類源碼,(如果直接使用第三方庫,拓展會出現問題,此時設計中應該以PDF文檔的格式來發布相關的API文檔,對相應的規范內容加以說明,同時提供示例代碼) 只有真正的模塊化處理才能解決多個開發商產品間沖突的問題。模塊化架構將規范與具體實現分離,分別放到不同的模塊中。 (3)方法 1)定義一個模塊專用于存放規范,其文檔中覆蓋的實際接口和抽象類燈。此模塊中至少存放一個小的“入口點”,比如說構造函數或者靜態工廠方法,這樣客戶端代碼可通過入口獲取具體的實現內容。 模塊化類庫,不應該通過復制類文件來解決多個開發方類庫沖突的問題,因為會導致類文件重復。復制類文件無法與開發商的具體實現分離。 2)一個獨立模塊對外提供很多接口,再加上一兩個工廠類,就可以用了定義一套規范。可以添加一些文檔進行說明 3)具體實現,是一個沒有直接對外暴露其功能的包,它只依賴那個規范模塊和其他一些實現模塊,然后通過注冊服務的方式,將自己實現的工廠注入到服務系統中。 4)一個客戶也可以看成一個模塊,同具體實現。 5)但有時候間接依賴也是必須的,有時候規范模塊也會依賴實現模塊2.組件定位和交互
模塊化目的:實現程序中各個組成部分的松耦合。兩個模塊如果獨立,彼此就不知道對方的存在,通過接口進行交互。 可減少雜亂代碼。 運行環境準備工作通常是由一個框架來完成的,使用依賴注入的方式,完成初始化。 (1)定義接口類 (2)繼承實現 有參數的構造函數是一種常用的注入方式 模塊化開發缺點:執行較慢,畢竟沒有免費的午餐。 最好不使用直接調用代碼來綁定服務的方式,而使用一種聲明的方式進行服務綁定。常用聲明方式System.getProperty("...")來完成。 另一種方式使用 xml 配置方式,3.編寫擴展點
Java的Lookup就很好,可以參考,它運行外部通過實現該接口來擴展功能。4.循環依賴的必要性
有些系統循環依賴是很有用的,特別是遺留代碼。但如果新代碼就像一團亂麻。 對于容器,規則越嚴格,用戶基于該容器開發架構越清晰。 當這一團亂麻無法維護時,只得將它打在一個包里,這樣喪失了多模塊的好處。 可以作為組件注入機制來避免或者減少循環依賴,從而做到模塊間的分離。 當決定模塊化開發,就一定保證模塊間出現循環依賴。5.滿城盡是Lookup
Java的Lookup很好,但是C++有什么可以替代Lookup的呢? qt的信號槽? 雖然可以,但是有時反應會很慢。6.Lookup的濫用
Java的Lookup很好,但不能濫用。如信號槽方式雖好,但濫用會導致系統性能下降。總結
以上是生活随笔為你收集整理的软件框架-无绪开发4的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java面试】Linux
- 下一篇: 大数据学习有哪些难度