妞太多,如何管理?大话设计模式!_简单工厂如果你的妞(new)太多了,怎么办?星期一需要这个妞,星期二需要那个妞,很难管理啊,万一出错将会很麻烦! 我们说的这个妞,就是代码中的这个 new,如果在代码中经常要重复写这段代码,实在不太爽:
  1. if(...) {

  2. //TypeA TypeB的父类一样。

  3. newObject = newTypeA();

  4. } else if (...) {

  5. //TypeA TypeB的父类一样。

  6. newObject

  7. } ...

=

你考虑怎样改进?这样可不简单!用一个静态方法,根据传入参数返回所需的对象便可,在每个需要用到这个对象的地方,这样写便可:
  1. Object newObject =ObjectBuilder.CreateObject(string type);

类图如下:妞太多,如何管理?大话设计模式!_类图_02

以上这个设计就是简单工厂,简单工厂不是23种模式中的一种,但在我们实际工作中经常会用到,简单工厂是管理 new 的最常见方法。

妞太多,如何管理?大话设计模式!_初始化_03

在程序中 new 对象一般没有这样简单,往往要根据不同的情况 new 不同的对象,并且要初始化对象,我们往往将这些工作“包装”到某个方法里面,通过这个方法直接得到需要的对象。本文是不是给你带来了一些收获呢?妞太多,如何管理?大话设计模式!_父类_04