我學習設計模式的乙個總結

2021-06-21 21:14:00 字數 1060 閱讀 4269

記憶裡是從2023年開始學習、使用設計模式的,之前都是把所有的東西堆到乙個類裡。總的來說,使用設計模式後對寫的**比較容易理解,修改bug時影響的範圍會縮小很多。

設計模式在gof中被分為三類:

一,創造型

二,結構型

三,行為型

各種軟體設計思想解決的問題都是:解耦和重用。

在創造型中,一共有五個模式:

1,抽象工廠模式; - abstract factory

2,生成器模式; - builder

3,工廠模式; - factory

4,原型模式;- prototype

5,單例模式;- singleton

記憶首字母:abfps

還有乙個簡單工廠模式,可以考慮為工廠模式的乙個特殊形式。

在結構型中有七個模式:

1,介面卡模式; - adapter

2,橋接模式;- bridge

3,組合模式;- composite

4,裝飾模式;- decorator

5,外觀模式;- facade

6,享元模式;- flyweight

7,**模式;- proxy

記憶首字母:abcdffp

在行為型模式中,一共有十一種模式:

1,責任鏈模式; - chain of responsibilty

2,命令模式; - command

3,直譯器模式;- interpreter

4,迭代模式;- iterator

5,中介者模式;- mediator

6,備忘錄模式;- memento

7,觀察者模式;- observer

8,狀態模式;- state

9,策略模式;- strategy

10,模板模式;- template method

11,訪問者模式;- vistor

這部分模式可以分為兩部分記憶首字母:cciimm,osstv。

記憶首字母的方法是在一年多前的某個帖子看到的,忘記位址了,多謝作者提供的方法。

這些字母讀順了,也就好記憶了。

學習設計模式的乙個硬傷

很多人在學習設計模式,也都能把gof書中的factory,state,singleton,decorator等等說的嘰裡呱啦的,但是很多人其實都不知道怎麼來用設計模式,工作幾年,看過一些優秀的設計,但看過的更多的是濫用模式的設計,大部分人對設計模式的了解也都停留在層面上,在工作中曾有機會去對資歷年長...

設計模式學習之 我是乙個粉刷匠(裝飾模式)

裝飾模式就是動態地給乙個物件新增一些額外的職責。就增加功能來說,裝飾模式相比生成子類更為靈活。需求 淨水器公司想要搞一波營銷活動,買送淨水機送三種禮品 雞蛋,雨傘,洗菜盆,但是銷售比較雞賊這三種禮品不是必須都送的,會根據消費者的購買意願來由銷售來送幾種禮品。設計思路 實現抽象的gift類是原始物件,...

每日學習乙個設計模式 迭代器模式

提供乙個物件來順序訪問聚合物件中的一系列資料,而不暴露聚合物件的內部表示。迭代器模式是一種物件行為型模式,其主要優點如下 抽象聚合 inte ce aggregate 具體聚合 class concreteaggregate implements aggregate public void remo...