Java的設計模式

2021-07-22 18:04:57 字數 3989 閱讀 4565

總體來說設計模式

分為三大類:

(1)建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

(2)結構型模式,共七種:介面卡模式、裝飾器模式、**模式、外觀模式、橋接模式、組合模式、享元模式。

(3)行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。

工廠方法模式

工廠方法模式分為三種:普通工廠模式、多個工廠方法模式和靜態工廠方法模式。

3.1.1、普通工廠模式

普通工廠模式就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。

1

2

3

4

5

packagecom.mode.create;

publicinte***cemyinte***ce

12

3

4

5

6

7

8

9

10

packagecom.mode.create;

publicclassmyclassoneimplementsmyinte***ce

}

12

3

4

5

6

7

8

9

10

packagecom.mode.create;

publicclassmyclasstwoimplementsmyinte***ce

}

12

3

4

5

6

7

8

9

10

11

12

13

14

15

16

packagecom.mode.create;

publicclassmyfactoryelseif("two".equals(type))else

}

}

12

3

4

5

6

7

8

9

10

11

packagecom.mode.create;

publicclassfactorytest

}

factorytest的執行結果我想應該很明顯了。

再回頭來理解這句話:普通工廠模式就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。

3.1.2、多個工廠方法模式

多個工廠方法模式,是對普通工廠方法模式的改進,多個工廠方法模式就是提供多個工廠方法,分別建立物件。

直接看**吧,我們修改myfactory和factorytest如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

packagecom.mode.create;

publicclassmyfactory

publicmyinte***ce producetwo()

}

12

3

4

5

6

7

8

9

10

11

packagecom.mode.create;

publicclassfactorytest

}

執行結果也是十分明顯了。

再回頭來理解這句話:多個工廠方法模式,是對普通工廠方法模式的改進,多個工廠方法模式就是提供多個工廠方法,分別建立物件。

3.1.3、靜態工廠方法模式

靜態工廠方法模式,將上面的多個工廠方法模式裡的方法置為靜態的,不需要建立例項,直接呼叫即可。

直接看**吧,我們修改myfactory和factorytest如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

packagecom.mode.create;

publicclassmyfactory

publicstaticmyinte***ce producetwo()

}

12

3

4

5

6

7

8

9

10

packagecom.mode.create;

publicclassfactorytest

}

執行結果依舊很明顯。

再回顧:靜態工廠方法模式,將上面的多個工廠方法模式裡的方法置為靜態的,不需要建立例項,直接呼叫即可。

java設計模式

a categorization of patterns by intent intent patterns inte ces adapter,facade,composite,bridge responsibility singleton,observer,mediator,proxy,chain...

JAVA設計模式

設計模式 設計模式分類 設計模式分為三類,建立型模式,結構型模式,行為型模式 建立型模式 1 工廠方法模式 2 抽象工廠模式 3 單例模式 4 建造者模式 5 原型模式 結構型模式 1 介面卡模式 2 裝飾器模式 3 模式 4 外觀模式 5 橋接模式 6 組合模式 7 享元模式 行為型模式 1 策略...

JAVA設計模式

介面卡模式 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本不相容的類可以合作無間。外觀模式 提供了乙個統一的介面,用來訪問子系統中的一群介面。外觀定義了乙個高層介面,讓子系統更容易使用。模板方法模式 在乙個方法中定義乙個演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以在不改變演...