C#物件導向設計模式第五講:Factory Method Factory 方法(建立型模式)

來源:互聯網
上載者:User

(根據MSDN Webcast相關課程整理)

耦合關係直接決定軟體面對變化時的行為。

緊耦合時,當一個模組變化時,相關模組都要隨之更改;依賴關係複雜

松耦合時,模組更容易被替換或更改,而其他相關模組可以保持不變。依賴關係簡單(小圓點表示介面)

不要局限於某種設計模式採用的固定方法,只要能有效解決這種模式要解決的問題,那這種方法就屬於這種設計模式。

對於採用何種設計模式,絕不是一開始就能確定的。而是隨著我們對軟體架構的越來越深入的瞭解,慢慢發現應對需求變化時現有代碼會遇到一些問題,而逐步最佳化採用何種設計模式。穩定的部分是不需要運用設計模式的,而不要襤用設計模式。

軟體設計時,一定要找到問題的不變部分和常變部分,並在兩者之間建立穩定的介面。

Factory 方法模式可以使系統在不修改具體工廠角色的情況下引進新的產品。

GoF:定義一個建立對象的介面,讓子類決定實現哪一個類,從而使得類的執行個體化延遲到了子類中。

看一下下面這個例子:

在汽車測試軟體項目中,我們需要測試各種品牌的車輛。因此,汽車的品牌是在不斷變化的,而測試邏輯是基本不變的。我們把具體汽車品牌和測試邏輯分開,中間採用抽象類別到定義介面。

不同的品牌汽車由不同的工廠來產生(執行個體化),調用的時候只需要指定具體的工廠就可以啦。

《完》

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.