第五篇写了关于简单工厂模式,链接地址:http://www.cnblogs.com/lay2017/p/7573805.html 但是我们的项目有时候简单工厂并不能满足,可能需要多个简单工厂,那么这时候如果我们用一个超级工厂来管理这些简单工厂是不是可以呢?这就是抽象工厂模式,如图: 抽象工厂模式能够 ...
分类:
其他好文 时间:
2017-09-24 23:41:19
阅读次数:
246
可以看看这个 http://www.cnblogs.com/francfu/p/design-pattern-notes.html http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html a.创建型 1.简单工厂 优点:客 ...
分类:
其他好文 时间:
2017-09-24 21:24:57
阅读次数:
215
策略模式由前端触发决定使用某一组算法或逻辑,每一组算法或逻辑不相同,互相不干扰。最后交由一个上下文具体去执行,并可以增加一定公有逻辑。比如某电商平台搞活动:普通会员:满100减10块白银会员:满100减15块送积分黄金会员:满100减18块送积分参与抽奖钻石会员:满100减2..
分类:
其他好文 时间:
2017-09-24 03:19:14
阅读次数:
108
调用方法: 工厂模式 概念 也是一种设计模式! 工厂模式的含义就是:设计一个类(此时这个类就叫做“工厂类”),该类的作用就是帮助其他的类“生产”对象! 简单工厂 纯粹工厂 以上代码 单例工厂 也是一种单例的实现,但不是“三私一公”的实现,而是在生产对象的工厂类中实现单例效果! ...
分类:
其他好文 时间:
2017-09-23 00:08:23
阅读次数:
130
package com.swt.dp.factory; /** * 书 */ public abstract class Book { /** * 打印书籍名字 */ public abstract void printName(); } package com.swt.dp.factory; /*... ...
分类:
其他好文 时间:
2017-09-22 11:44:39
阅读次数:
161
策略模式的使用,把一系列算法进行了封装,只需要通过配置不同的算法,即可以实现算法的自由切换。具体内容参考第一篇:http://www.cnblogs.com/lay2017/p/7570041.html 但是,由于有不同的策略,那么我们就需要在使用的时候进行策略的选择,例如: 我们看到,使用这个策略 ...
分类:
其他好文 时间:
2017-09-22 00:40:42
阅读次数:
281
一、动机 一个渲染器应用程序中存在着多种不同的相机(如透视相机、鱼眼相机等)。通过应用程序的图形界面,用户可以选择使用不同的相机来生成光线,对场景进行渲染。渲染程序如代码列表1所示。在代码中,我们使用字符串来表示相机类型,并使用if-else语句(6~10行代码)来实例化相应的Camera子类对象。 ...
分类:
其他好文 时间:
2017-09-21 21:02:28
阅读次数:
185
设计模式概要 本文学习自程杰兄的大话设计模式所记心得,建议各位看官去看看这一本书。本文留楼主日后回忆时阅读使用 简单工厂模式 把对象的获取放到工厂中,可以减少依赖。对类进行使用继承。使用父类去获取,在需求变更的时候,需要改变的地方只需要加一个子类和工厂中的逻辑。不会对表现层(客户端)有任何的变更,这 ...
分类:
其他好文 时间:
2017-09-21 11:23:40
阅读次数:
126
介绍简单工厂模式之前先通过一个披萨项目的例子来引出问题,然后给出简单工厂模式这种解决方案,然后随着披萨项目的不断扩展,遇到新的问题,引出工厂方法模式,然后又遇到新的问题,引出最终解决方案,抽象工厂模式。 一、披萨项目介绍 比如一个披萨店 ,店长一名,目前卖两种口味披萨,GreekPizza和Chee ...
分类:
其他好文 时间:
2017-09-19 16:14:41
阅读次数:
183
模拟场景: 继续沿用在简单工厂模式中讨论的,运算器相关的场景。 思想: 考虑之前最初的设计,简单工厂模式中,最大的问题在于,面对新增的需要在工厂中创建的对象,对其的修改会违反开闭原则。 工厂方法模式(Factory Method)对于这种问题的解决方案是:将生产运算器的工厂抽象出来(AbsOpera ...
分类:
其他好文 时间:
2017-09-17 00:21:56
阅读次数:
229