判断是什么设计模式

学习常见设计模式的好地方 https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html

阅读以下作者博文所理解:

https://www.jianshu.com/u/3f0075454d65  

1.将一个属性/功能可取舍的对象/功能的生成拆分为多个可选的步骤来实现,例如制作煎饼功能,调料配菜的需求各不相同,将每一种添加配菜写成一个方法,需要这个过程就调用一次这个方法,然后统一个方法卷起装袋制作出来。这个就是建造者Builder模式

2.提供一类相似的功能/对象,针对不同用户和需求,从一个对象打包提供不同的对象以满足要求,例如:造车厂制造小汽车、吉普车、拖拉机等,根据你提供的类型参数不同,输出给到不同的车型实体。这个叫做简单工厂模式

3.提供一个对象类,他们的对象实例实现不同需求,调用者通过实现功能的不同采用不同的对象类生成对象,例如:造汽车去找造船厂、造飞机去找飞机厂、造轮船去找轮船厂。这个叫做工厂模式

4.设置一个属性对象,由该对象决策方法调用的区别,例如:装修一间房子,可以配置不同的设计师来设计,由于设计师的想法存在差异,最总设计结果就会不同。这种就是策略模式

5.需要完成一些功能,部分的功能已经可以由一个实现其他需求的对象来完成了,此时可以由一个对象持有该对象通过它实现部分功能,自身实现附加功能来实现。例如:接到一个项目外包,安卓/iOS/后台我都会,找上一个设计,就把活干了。这个是装饰模式

6.给功能/操作类对象配置一个或一些专门的对象,让它们在特定的条件下处理一些决策/操作处理,例如:你是一家公司的老板,你找了一家律师事务所,当你出现了合同纠纷的时候就去找他们来走法律流程。这个是代理模式

7.一些功能和操作,由于访问权限、资源占用、数据共享的原因,只希望有一个对象来处理,这个时候每个地方将用到的取得都是这个对象。例如:一家小一点公司只有一个专门管理印章的人,每个人要用到印章都要去他那里找他来盖。这就是单例模式

8.

原文地址:https://www.cnblogs.com/yuxiaoyiyou/p/13540907.html