記憶裡是從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...