大话设计模式笔记
1. 使用简单工厂模式(使用反射可以解决避免分支判断问题)
注重创建不同的对象
2. 使用策略模式处理
不同的时间应用不同的业务规则
3. 单一原则:一个类仅有一个变化的原因 发现职责并把职责分离
4. 开放-封闭原则:软件实体可以扩展但不能修改 对扩展开放 对更改封闭
开发人员对程序中呈频繁变化的那部分做出抽象
5. 依赖倒转原...
分类:
其他好文 时间:
2016-05-12 13:29:15
阅读次数:
190
关于工厂模式,首先要了解的就是多态这个概念:“多态是指在面向对象中能够根据使用类的上下文来重新定义或改变类的性质和行为”,这句话是我在其他博客看到,他已经概括的很好了,我就直接抄袭了。哈哈 通常简单工厂模式有一个关键的构造,即一般被命名为factory的静态方法。这个静态方法可以接受任意数量的参数, ...
分类:
Web程序 时间:
2016-05-08 23:43:03
阅读次数:
228
1. 模式动机 学习完简单工厂模式之后,现在对该系统进行修改,不再设计一个按钮工厂类来统一负责所有产品的创建,而是将具体按钮的创建过程交给专门的工厂子类去完成,我们先定义一个抽象的按钮工厂类,再定义具体的工厂类来生成圆形按钮、矩形按钮、菱形按钮等,它们实现在抽象按钮工厂类中定义的方法。这种抽象化的结 ...
分类:
其他好文 时间:
2016-05-07 23:41:15
阅读次数:
171
设计模式主要分为3大类:创建型模式、行为型模式、结构型模式。 创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符 ...
分类:
其他好文 时间:
2016-05-07 18:05:04
阅读次数:
121
工厂模式是指,定义一个创建对象的类(factory),利用这个来实例化指定子类。 1.简单工厂模式 例子,假如有一个code代码类,java,C#,C艹等等是该类的子类,通过codeFactory来实例化子类。并在子类中重写virtual函数print。 注:C艹中,如果用父类的指针释放子类的资源, ...
分类:
编程语言 时间:
2016-05-04 22:49:23
阅读次数:
232
通过一个计算器的例子来学习简单工厂 1、Operation 运算类 2、加减乘除类 3、简单运算工厂类 4、客户端代码 ...
分类:
其他好文 时间:
2016-05-02 11:50:34
阅读次数:
170
1.定义 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。 2.类图 3.代码示例 4.扩展:简单工厂模式 4.1 类图 4.2 代码示例 5.应用场景举例 创建复杂对象,隔离对象创建的具体过程 一个类不知道它所需要的对象的类:客户端不需要知道具 ...
分类:
其他好文 时间:
2016-05-01 19:08:45
阅读次数:
327
1.单例模式:在应用程序整个生命周期中,单例类的实例只有一个,并且会自动实例化。单例类的构造方法必须为私有,并且提供一个全局访问点 2.工厂模式: (1)简单工厂模式:工厂类可以根据提供给他的参数,返回几个可能的产品中的一个类的实例 (2)工厂方法模式:定义一个用于创建产品对象的工厂类的接口,再将创 ...
分类:
编程语言 时间:
2016-04-30 22:05:12
阅读次数:
156
先看代码classGcFactory
{
publicvoiddemo(){
FactoryftFac=newFactory();
IFactoryif1=ftFac.getInstance("demo1");
if1.run();
IFactoryif2=ftFac.getInstance("demo2");
if2.run();
}
}
interfaceIFactory{
publicvoidrun();
}
classDemo1:IFactory{
publicvoidrun()
{
Con..
分类:
其他好文 时间:
2016-04-30 01:14:57
阅读次数:
194
简单工厂模式(Simple Factory):简单工厂模式又叫静态工厂模式,顾名思义,通过一个具体的工厂类,在该工厂类中定义返回值为不同实例对象的静态方法,来获得各种具体的实例对象。 工厂方法模式(Factory Method):建立一个抽象工厂,其不同的工厂实例用来创建不同的产品实例对象(单个产品 ...
分类:
其他好文 时间:
2016-04-29 22:04:40
阅读次数:
276