記錄設計模式

2021-09-28 07:18:38 字數 1655 閱讀 7106

設計模式(design pattern) 是一套被反覆使用,為多數人知曉,經過分類編目的、**設計經驗的總結。

答:設計模式的目的是為了**重用,避免程式大量修改,同時使**更易於理解,並且保證**的可靠性。

顯然設計模式不管是對自己還是對他人還是對系統都是有益的。

1、factory method 工廠方法

2、abstract factory 抽象工廠

3、builder 生成器

4、 prototype 原型

5、singleton 單例

1、adapter_class 介面卡類

2、adapter_object 介面卡物件

3、bridge 橋接

4、composite 組合

5、decorator 裝飾

6、facade 外觀

7、flyweight 享元

8、proxy **

1、interpreter 直譯器

2、tremplate method 模板方法

3、chain of responsibility 職責鏈

4、command 命令

5、iterator 迭代器

6、mediator 中介者

7、memento 備忘錄

8、observer 觀察者

9、state 狀態

10、strategy 策略

11、visitor 訪問者模式

答:在某種情況下,有些物件只需要乙個就行了,即每個類只需要乙個例項。

例如印表機,一台計算機可以連線多台印表機,但是這個計算機上的列印程式只能有乙個,這裡就可以通過單例模式來避免兩個列印作業同時輸出到印表機,即在整個的列印過程中指有乙個列印程式的例項。

實現乙個簡單的單例模式

public class test

private static test uniqueinstance = new test();

public static test getinstance()

}

如果採用按需例項化的方法,就需要考慮多執行緒的同步問題。

答:工廠模式專門負責例項化有大量公共介面的類 。工廠模式可以動態塊決定將哪乙個類例項化,而不必事先知道每次要例項化哪乙個類。客戶類和工廠類是分開的。消費者無論什麼時候需要某種產品,需要做的只是向工廠提出請求即可。

1、簡單工廠(****** factory)模式。簡單工廠模式的工廠類是根據提供給它的引數,返回的是幾個可能產品中的乙個類的例項,通常情況下,它返回的類都有乙個公共的父類和公共的方法。

其中,product為待例項化類的基類,它可以有多個子類,簡單工廠類中提供了例項化product的方法。

2、工廠方法(factory method)模式。工廠方法模式是類的建立模式,其用意是定義乙個用於建立產品物件的工廠的藉口,而將實際建立工作推遲到工廠介面的子類當眾。多型的使用,使得工廠方法模式保持了簡單工廠模式的優點,而且克服了它的缺點。

3、抽象工廠(abstract factory)模式。抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的一種形態。抽象工廠模式指當有多個抽象角色時使用的一種工廠模式,抽象工廠模式可以向客戶提供乙個藉口,使得客戶端在不必指定產品的具體情況下,建立多個產品族中的產品物件。

記錄設計模式

單例模式,工廠模式不說了 1.策略模式 定義了演算法家族 這些演算法完成的工作都是相同的,只是實現不同 分別封裝起來,讓他們相互之間可以相互替換,此模式讓演算法的變化不影響使用演算法的客戶。策略模式和工廠模式有一的相似處,新增context類,來維護介面的實現類。相比工廠模式,工廠模式要用到介面類和...

設計模式學習記錄

工廠模式 實際上是把乙個類的例項化通過乙個工廠類來推遲例項化,例項化的過程是通過實現介面來返回乙個型別。這樣做的弊病是乙個類只能返回一種型別,如果過載就會形成命名衝突,所以更常用的是在工廠類裡面新增多個靜態的實現方法,這樣就可以實現各種不同的型別了。抽象工廠 抽象工廠就是在實現介面裡面包含了各種類似...

設計模式學習記錄

策略顧名思義 指計策 謀略。一般是指 1.可以實現目標的方案集合 2.根據形勢發展而制定的行動方針和鬥爭方法 3.有鬥爭藝術,能注意方式方法。做一件事我已經有多中方案,選擇執行。個人覺得策略和簡單工廠特別像。但是區別在於。我簡單工廠不需要知道我所有產品方案使人們。需要什麼就造什麼。但是策略要明白。還...