1.工厂方法模式
工厂方法模式,定义了一个创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
2.关键特征
意图 | 定义一个用于创建对象的接口,让子类决定实例化哪一个类。将实例化推迟到子类。 |
问题 | 一个类需要实例化另一个类的派生类,但不知道是哪一个。Factory Method允许派生类进行决策。 |
解决方案 | 派生类对实例化哪个类和如何实例化做出决策。 |
参与者与协作者 | Product是工厂方法所创建的对象类型的接口。Createor是定义工厂方法的接口。 |
效果 | 客户将需要派生Createor,以创建一个特定的ConcreteProduct对象。 |
实现 | 在抽象类中使用一个抽象方法。需要实例化一个被包含对象的时候抽象类的代码将引用此方法,但是不知道需要的对象是哪一个。 |
3结构图
4.参考实例---雷锋仍然在人间