设计模式
许大侠0610
Yesterday you said tomorrow
展开
-
工厂模式(一)简单工厂
核心思想 创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 类图 简单工厂把实例化的操作单独放到一个类中,这个类就成为简单工厂类,简单工厂处理创建对象的细节。 这样做能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类。客户类往往有多个,如果不使用简单工厂,那么所有的客户类都要知道所有子类的细节。而且一旦子类发生改变,例如增加子类...原创 2019-06-05 21:40:09 · 148 阅读 · 0 评论 -
工厂模式(二)工厂方法
简单工厂的问题 工厂方法模式是简单工厂模式的一个延伸,它属于 Gof23 中设计模式的创建型设计模式。它解决的仍然是软件设计中与创建对象有关的问题。它可以更好的处理客户的需求变化。 在简单工厂模式中,将实例化对象的工作推迟到了专门负责创建对象的工厂类中,这样,在我们事先预知的情况下,可以根据我们的需要动态创建产品类。但是,我们的预知是有限的,客户的变化可能是无限的。所以,就出现了问题,一旦客户的变...原创 2019-06-05 22:23:13 · 254 阅读 · 0 评论 -
工厂模式(三)抽象工厂
这是工厂模式里的最后一个模式了,加把劲完全的拿下工厂模式! 抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 抽象工厂创建...原创 2019-06-06 08:39:12 · 245 阅读 · 0 评论 -
装饰器模式
核心思想 一句话概括,动态地将责任附加到对象上,基于原有对象,实现更丰富的功能。在扩展功能的手段上,使用装饰器模式比使用继承更有弹性。一个最常见的例子:Java I/O 。 笔者最开始学 Java IO 部分的时候真的是越学越懵,原因无它,东西太多了!直到了后来学习了装饰器模式才理解 Java IO 为什么要这么实现,以前不懂的地方也一下子通透了。 下面我们就 InputStream 为例,来看...原创 2019-06-04 08:55:38 · 164 阅读 · 0 评论