FACTORY METHOND(工厂方法)-创建型模式
2019-01-06 本文已影响0人
lixin_karl
工厂模式的意图:定义一个用于创建对象的接口,由子类决定实例化哪个类。FACTORY METHOND 使一个类的实例化延迟到其子类。
一、实现代码
话不多说,先放工厂模式的代码,一目了然。
工厂所要生成的对象 对象创建器Creator只提供生成对象的接口,而由它的子类ConcreteCreator决定生成哪个对象。
生成具体对象操作 运行结果二、引入
简单工厂模式中,将实例化对象的工作推迟到了专门负责创建对象的工厂类中,而我们是知道了所有可能会要创建的产品对象,如果有其他的需求,那么我们必不可少的需要改变工厂源码,这是不允许的。工厂方法由此而产生。
问题:具体工厂类的创建工作不能满足我们的要求了,创建的工作变化了
解决思路:哪里变化,封装哪里。把具体工厂封装起来。
三、应用实例
去买车(产品实例),商家根据你的需求来生产车辆(生成产品对象),如果还没有这种车,只需要增加一个团队(增加具体的Creator)再生产一辆车出来(生成具体的产品)。
四、优缺点
显而易见的是,用户没提出一个需求,需要增加具体产品实现和工厂实现,增加了开销。
参考:
https://www.cnblogs.com/Bobby0322/p/4179921.html
《设计模式:可复用面向对象软件的基础》