设计模式之工厂方法
设计模式最终目的:
通过封装,继承,多态把程序的耦合降低,增加程序的复用性,可维护性,灵活性,扩展性,减少重复代码等等,把面向过程的开发方式转为面向对象,面向抽象,面向接口的开发方式。
概述:
简单工厂关注的是对象如何创建,但是简单工厂类职责太多,所有的类都由他创建,违背单一职责。
工厂方法将简单工厂进行拆分,每个类对应每个工厂方法,遵循功能单一职责。工厂关注的是对象如何创建,把对象的创建细节转移到工厂里(对对象的创建封装多一层)对于上端而言,对象创建细节被屏蔽掉了,无须关注对象创建细节。工厂方法对于复杂对象创建才有价值,也为对象创建提供了可扩展点。
提供工厂方法创建对象接口
为每个类封装工厂方法类实现创建对象接口
工厂方法扩展
使用工厂方法获取对象