这两天在看SpringCloud相关源码,发现里面使用了大量的设计模式,具体的有工厂方法模式,适配器设计模式,装饰设计模式等。 具体的体现是有这样一个接口:DataBuffer,与之对应的有个DataBufferFactory接口,这个接口用于生产DataBuffer对象,看完这两个接口,及其实现, ...
分类:
其他好文 时间:
2019-06-10 13:20:00
阅读次数:
74
概念 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。 模式结构 简单工厂模式对比 先回到简单工厂模式中的计算器的例子中,如果我们需要增加新的计算方法,我们需要新增Operator子类,并且在工厂方法中加入Case语句来判断。这显然违背 ...
分类:
其他好文 时间:
2019-06-08 13:12:30
阅读次数:
118
整理了一下基础知识,之前做银行系统时比较频繁的用过工厂方法。 ...
分类:
其他好文 时间:
2019-06-08 13:11:13
阅读次数:
102
? 工厂方法模式(Factory Method) 概念 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。 模式结构 简单工厂模式对比 先回到简单工厂模式中的计算器的例子中,如果我们需要增加新的计算方法,我们需要新增Operator子类, ...
分类:
其他好文 时间:
2019-06-08 11:48:19
阅读次数:
112
工厂模式概念:工厂模式是一种类,它具有为你创建对象的某些方法。你可以使用工厂类创建对象,而不用使用new。这样,如果你想要改变所创建的对象的类型,只需更改该工厂类即可。使用该工厂的所有代码会自动更改。 工厂模式分为三种:① 简单工厂模式 ② 工厂方法模式 ③ 抽象工厂模式 区别: 简单工厂模式:用来 ...
分类:
其他好文 时间:
2019-06-08 00:46:57
阅读次数:
150
通过 对象创建 模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。 典型的模式: Factory Method 工厂方法模式 Abstract Factory 抽象工厂模式 Prototype 原型模式 Builder ...
分类:
其他好文 时间:
2019-06-08 00:27:28
阅读次数:
153
抽象工厂模式的优点 抽象工厂模式除了具有工厂方法模式的优点外,最主要的优点就是可以在类的内部对产品族进行约束。所谓的产品族,一般或多或少的都存在一定的关联,抽象工厂模式就可以在类内部对产品族的关联关系进行定义和描述,而不必专门引入一个新的类来进行管理。 抽象工厂模式的缺点 产品族的扩展将是一件十分费 ...
分类:
其他好文 时间:
2019-06-06 23:03:30
阅读次数:
227
简单工厂模式跟工厂方法模式极为相似, 区别是:简单工厂只有三个要素,他没有工厂接口,并且得到产品的方法一般是静态的。因为没有工厂接口,所以在工厂实现的扩展性方面稍弱,可以算所工厂方法模式的简化版 适用场景: 不管是简单工厂模式,工厂方法模式还是抽象工厂模式,他们具有类似的特性,所以他们的适用场景也是 ...
分类:
其他好文 时间:
2019-06-06 22:43:22
阅读次数:
236
例子背景:随着客户的要求越来越高,宝马车需要不同配置的空调和发动机等配件。于是这个工厂开始生产空调和发动机,用来组装汽车。这时候工厂有两个系列的产品:空调和发动机。宝马320系列配置A型号空调和A型号发动机,宝马230系列配置B型号空调和B型号发动机。 概念: 抽象工厂模式是工厂方法模式的升级版本, ...
分类:
其他好文 时间:
2019-06-06 19:33:32
阅读次数:
134
静态/简单工厂:缺点不修改代码无法扩展,违背OCP原则,但优点也很多,开发简单,但不利于后期扩展维护 工厂方法模式:解决了OCP问题,使用复杂一些 抽象工厂模式:上面2个是增加产品,属于1维的。这个是将产品组装形成新的产品。属于组的概念,符合OCP原则,缺点是复杂 ...
分类:
其他好文 时间:
2019-06-06 17:22:45
阅读次数:
77