2.1 《硬啃设计模式》 第3章 “妞”太多,如何管理?(1)- 简单工厂
如果在代码中经常要重复写这段代码,实在不太爽:
if (…...)
newObject = new TypeA(); //TypeA TypeB的父类一样。
else if (…...)
newObject = new TypeB(); //TypeA TypeB的父类一样。
……
你考虑怎样改进?
这样可不简单!用一个静态方法,根据传入参数返回所需的对象便可,在每个需要用到这个对象的地方,这样写便可:
Object newObject = ObjectBuilder.CreateObject(string type);
以上这个设计就是简单工厂,简单工厂不是23种模式中的一种,但在我们实际工作中经常会用到,简单工厂是管理new的最常见方法。
在程序中new对象一般没有这样简单,往往要根据不同的情况new不同的对象,并且要初始化对象,我们往往将这些工作“包装”到某个方法里面,通过这个方法直接得到需要的对象。
请看下一文……
作者:张传波
创新工场创业课堂(敏捷课程)讲师
软件研发管理资深顾问
CMMI首席专家
《火球——UML大战需求分析》作者
《硬啃设计模式》作者
www.umlonline.org创办人