简单工厂模式(simple factory)是类的创建模式,又叫静态工厂方法(static factory method)模式。简单工厂模式就是由一个工厂类根据传入的参数决定创建哪一种的产品类。有4个角色工厂类角色:是具体产品类角色直接调用者。抽象产品角色:接口或抽象类,负责具体产品角色的定义,及与...
分类:
其他好文 时间:
2015-03-17 13:55:55
阅读次数:
111
#include#include#include//c++标准异常类型的库using namespace std;bad_exception somethingwrong;//在c++中class默认的继承是private 而struct 默认的继承是public//static 类静态成员函数,即...
分类:
其他好文 时间:
2015-03-15 18:03:05
阅读次数:
122
ID类型 objective-c中id可以指向任何对象,在使用id的时候注意:不要再id后面加上'*' 。 id object = [[Child alloc] init]; // 类型转换 Child *child = (Child *) object ; [child myMethod] ;id...
分类:
其他好文 时间:
2015-03-11 23:23:34
阅读次数:
130
PHP工厂模式概念:工厂模式是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。根据抽象程度不同,PHP工厂模式分为:简单工厂模式、工厂方法模式和抽象工厂模式简单工厂模式:/...
分类:
Web程序 时间:
2015-03-09 18:48:00
阅读次数:
194
概念理解: 1.解耦:一般通过增加一些抽象层,来实现 功能提供者和功能使用者 两者的解耦隔离。而如果想要扩展功能即增加功能,只需要添加相应的相应的新的功能类,修改中间的抽象类即可,并不用修改使用者部分的代码。并且功能提供者的代码可以复用。而且使得程序更容易理解。简单工厂模式介绍一.什么是简单工厂模式...
分类:
其他好文 时间:
2015-03-06 23:34:35
阅读次数:
183
这三个设计模式都属于创建型模式,之间具有关联性,就放在一起讲解。其实简单工厂模式是工厂方法的一个特例,并不是23种设计模式的一种。
使用java来写的这几个设计模式。java文件目录树如下所示:
zy@zy:~/code/designpattern/SimpleFactory/src$ tree
.
├── Client.java
└── zy
├── abstractfactory
...
分类:
其他好文 时间:
2015-03-05 22:24:12
阅读次数:
231
1. 业务说明为了便于说明,举一个简单的例子。假设现在有一个项目需要建立一个和银行交互的平台,目前只接入工商银行,后续接入其他银行,每个银行的业务都有差异,报文格式可能也不一致。这里只列举几个简要的流程,仅包括拼报文,发送报文,接收报文,解析报文,其余整体架构以及后续处理等内容省略。2. 初步设计创建一个银行交互类 BankOpt,包括四个函数:int setMsg(); //拼报文
i...
分类:
编程语言 时间:
2015-03-05 00:25:12
阅读次数:
220
从现实入手
我想养一些小动物,把他们圈养在一起看着他们长大,我选择猫,狗,羊,鸡这四种动物。
一般思想,无非建立4个动物类,实例化即可,如下:class Dog{
public void shout(){
System.out.prinltn("dog shout");
}
}
class Cat{
public void shout(){...
分类:
其他好文 时间:
2015-03-04 21:11:17
阅读次数:
151
从现实入手还记得前面讲到过的简单工厂模式吗?
在客户端(main中)的时候仍然需要用到AnimalFactory.getAnimale(0) 来对动物种类进行选择,则当新增加动物种类的时候,不得不在原工厂类AnimalFactory 中进行代码的改动,这相当于在后台进行改
动。
现在我们要解决的就是去掉Factory中的switch语句和任何判断的逻辑,仅仅利用继承或者多态在客户端实现对动物的...
分类:
其他好文 时间:
2015-03-04 21:03:47
阅读次数:
153