![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
zyy2404
菜鸟程序员
展开
-
设计模式 - Factory Method
Factory Method 模式:父类决定实例的生成方式,但是不决定所要生成的具体的类,具体的处理全部交给子类负责,这样就可以将生成实例的框架和实际负责生成实例的类解耦。实例:模板可以使用两个抽象类,一个是ProductFactory,一个是Product,只为简单模拟,Product接口有作为一个产品使用的方法use,ProductFactory则是创建产品也就是Product,返...原创 2019-04-26 22:13:23 · 79 阅读 · 0 评论 -
设计模式 - singleton
singleton模式:只返回一个实例,用于在任何情况下绝对只有一个实例,或者在程序上表现出“只存在一个实例”。singleton 类:import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class Singleton { private Logger logger = LoggerFactory.getL...原创 2019-04-27 16:19:42 · 73 阅读 · 0 评论 -
设计模式 - Iterator
详细介绍转载:https://blog.csdn.net/Lammonpeter/article/details/82142020结构图Book 类 代表迭代的元素public class Book { private String bookName; public Book(String bookName) { this.bookName = bookName; } @Ove...原创 2019-04-23 15:47:17 · 87 阅读 · 0 评论 -
设计模式 - Adapter
Adapter 模式:将两个不相关的类组合在一起使用,需要用到Adapter模式。一个是Adaptee,一个是Adapter。实际上,两个不相关的类想要组合在一起使用, 可以修改类的接口, 但是,如果我们不想修改接口,或者根本没有源代码,就需要使用Adapter模式。有一个接口用于提供需求,一个类用于实现需求,但是需要用一个类将两者联系起来进行转换,这个转换的类就是Adapter...原创 2019-04-24 22:37:52 · 440 阅读 · 0 评论 -
设计模式 - Template
Template模式:也就是模板模式,父类定义了主要框架,而子类可以根据这个框架进行拓展。实例:在这里父类AbstractDisplay,一共有四个方法,一个是begin(),输出通知开始的字符串,一个是end(),用于输出结束通知的字符串,一个是print() ,是抽象的方法,在这里交给子类去实现,例如是输出字符还是字符串,而display则是模板的主要输出方法,将其他三个方法联系起...原创 2019-04-25 09:25:48 · 111 阅读 · 0 评论 -
设计模式 - Prototype
Prototype 模式:当对象种类繁多的时候,我们可以把它们合并到一个类中去。难以根据类生成实例的时候。想解耦框架和生成的实例时,使生成框架不依赖于任何类。当一个实例进行了很多操作,比如关于字段的存入,一些方法对于类内字段的处理时,如果我们想要对实例进行复用,我们就可以考虑使用这种模式,我们不仅将实例复制了,省去了很多操作,而且实例之间虽然字段相同,但是已经是两个实例,操作互不影响,也...原创 2019-05-30 21:50:42 · 245 阅读 · 0 评论 -
设计模式 - Strategy - 策略模式
Strategy模式:策略模式,我们可以把策略理解为算法,而策略模式就是我们将一个策略的实现委托给一个接口的实现类去实现,当我们只要更换实现类就实现了策略的更换的目的,比如游戏中的难度切换,也可以说是把AI接口的实现类切换了。实例:模拟两个选手猜拳,为了胜利,两个选手选择不同的策略,这里两个策略,一个是这次赢了,下次还做出同样的选择,如果输了就随机出拳,而另一个则是,记录下自己两次出拳...原创 2019-06-20 11:11:37 · 150 阅读 · 0 评论