【設計模式一】

       關於設計模式在去年找工作時候就計劃學習,一直沒系統的學習。直到最近在工作中才發現自己的功力欠缺太多,各個門類的東西要有計劃的進行學習。關於設計模式學習參考的連接(2019.10.19):設計模式

A.工廠模式:

        屬於創建型模式,提供一種的創建對象的方式。定義了一個創建對象的窗口,讓子類自己決定要創建哪一工廠類。工廠模式使其創建過程延遲到子類進行。

例子:需要一輛汽車,直接從工廠中進行拿車,不用關心車是怎麼被創建出來的。

 

B.抽象工廠模式:

       圍繞一個超級工廠創建其他工廠,該超級工廠又爲其他工廠的工廠。屬於創建型模式,在抽象工廠模式中,接口負責創建一個相關對象的工廠,不需要顯式的指定他們的類。每個生成工廠都能按照工廠模式提供對象。

例子:工作了,爲了參加一些聚會,肯定有兩套或多套衣服吧,比如說有商務裝(成套,一系列具體產品)、時尚裝(成套,一系列具體產品),甚至對於一個家庭來說,可能有商務女裝、商務男裝、時尚女裝、時尚男裝,這些也都是成套的,即一系列具體產品。假設一種情況(現實中是不存在的,要不然,沒法進入共產主義了,但有利於說明抽象工廠模式),在您的家中,某一個衣櫃(具體工廠)只能存放某一種這樣的衣服(成套,一系列具體產品),每次拿這種成套的衣服時也自然要從這個衣櫃中取出了。用 OO 的思想去理解,所有的衣櫃(具體工廠)都是衣櫃類的(抽象工廠)某一個,而每一件成套的衣服又包括具體的上衣(某一具體產品),褲子(某一具體產品),這些具體的上衣其實也都是上衣(抽象產品),具體的褲子也都是褲子(另一個產品)。

 

C.單例模式

       屬於創建型模式,全局只有單一類,該類負責創建自己的對象。同時確保只有一個對象被創建,該類提供一種訪問其唯一對象的方式,可以直接訪問,不需要實例化該類的對象。

例子:Windows 是多進程多線程的,在操作一個文件的時候,就不可避免地出現多個進程或線程同時操作一個文件的現象,所以所有文件的處理必須通過唯一的實例來進行。

 

D. 建造者模式

建造者模式使用簡單的對象一步步構造成一個複雜對象,這種類型設計模式屬於創建型模式。建造者:創建和提供實例。導演:管理建造出來的實例的依賴關係。使用的場景:需要建造出來的對象有複雜的結構,且對象內部屬性本身相互依賴。

例子:去肯德基,漢堡、可樂、薯條、炸雞翅等是不變的,而其組合是經常變化的,生成出所謂的 "套餐"。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章