赞
踩
一个类创建型模式使用继承改变被实例化的类;
一个对象创建型模式将实例化委托给另一个对象。
对应java的new一个对象。
简单工厂模式属于创建型模式,但不属于23种设计模式之一。
定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。
在简单工厂模式中用于被创建实例的方法通常为静态方法,因此简单工厂模式又被成为静态工厂方法。
简单工厂模式的三类角色:
1、工厂(核心):负责实现创建所有产品的内部逻辑,工厂类可以被外界直接调用,创建所需对象。
2、抽象产品:工厂类所创建的所有对象的父类,封装了产品对象的公共方法,所有的具体产品为其子类对象。
3、具体产品:简单工厂模式的创建目标,所有被创建的对象都是某个具体类的实例。它要实现抽象产品中声明的抽象方法。
简单工厂模式的问题:
若是要新增一个productC,则需要修改Factory类的代码。
违反了开放封闭原则。
开闭原则是指:
软件应该对扩展开放,而对修改关闭。这里的意思是在增加新功能的时候,能不改代码就尽量不要改,如果只增加代码就完成了新功能,那是最好的。
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。
上午题喜欢考:意图,原话。
下午题喜欢考:代码填空。
上午题喜欢考。
提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。
一个具体的工厂可以创建多个具体的类。
客户端:
真题1:
一个具体的工厂只能创建一个具体的产品:工厂方法模式;
一个具体的工厂能创建多个具体的产品:抽象工厂方法模式;
真题2:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。