当需要使用多态的特性的时候,往往我们可能出现这样的代码:
但是灰色框中的代码却在日后的维护中发生改变。比如加入新的具体类或者删除旧的具体类。为了解决这个问题,我们可以使用工厂模式。
简单工厂
简单工厂就是把上面的代码挪到了另外一个类中,之后还会发生更改,但是这样的好处是,他的客户可能是多个其它类,相当于把同样的逻辑抽取出来。
如果这里用的不是一个普通类而是一个静态类,则叫做静态工厂,静态工厂不需要进行实例化,但是缺点是不能被继承。
工厂方法模式
有创建者抽象类和创建者具体类,创建者具体类具体实现了工厂方法。
网友评论