如果你的妞(new)太多了,怎么办?星期一需要这个妞,星期二需要那个妞,很难管理啊,万一出错将会很麻烦!
我们说的这个妞,就是代码中的这个 new,如果在代码中经常要重复写这段代码,实在不太爽:
if(...) {
//TypeA TypeB的父类一样。
newObject = newTypeA();
} else if (...) {
//TypeA TypeB的父类一样。
newObject
} ...
=
你考虑怎样改进?
这样可不简单!用一个静态方法,根据传入参数返回所需的对象便可,在每个需要用到这个对象的地方,这样写便可:
Object newObject =ObjectBuilder.CreateObject(string type);
类图如下:
以上这个设计就是简单工厂,简单工厂不是23种模式中的一种,但在我们实际工作中经常会用到,简单工厂是管理 new 的最常见方法。
在程序中 new 对象一般没有这样简单,往往要根据不同的情况 new 不同的对象,并且要初始化对象,我们往往将这些工作“包装”到某个方法里面,通过这个方法直接得到需要的对象。
本文是不是给你带来了一些收获呢?