抽象工厂模式(Abstract Factory Pattern)-创建型模式第二篇

This is post 3 of 10 in the series “Design Patterns” 《设计模式》系列序——写给未来的自己 工厂方法模式(Factory Method)-创建型模式第一篇 抽象工厂模式(Abstract Factory Pattern)-创建型模式第二篇 单例模式(Singleton Pattern)-创建型模式第三篇 建造者模式(Builder Pattern)-创建型模式第四篇 原型模式(Prototype Pattern)-创建型模式第五篇 装饰者模式 (Decorator Pattern)-结构型模式第一篇 组合模式 (Composite Pattern)-结构型模式第二篇 适配器模式 (Adapter Pattern)-结构型模式第三篇 代理模式 (Proxy Pattern)-结构型模式第四篇 解决的问题: 如何创建一个类,使其能够独立于它所需要的对象 如何让相关的产品对象能够一同被创建 怎么去解决: 将一系列具体对象的创建封装在单独的工厂对象里,你需要定义这个工厂的接口,然后实现这个抽象的工厂 客户端上下文在调用时,通过工厂去创建抽象的产品从而代替直接创建具体的产品对象 定义: 我想抽象工厂的核心定义是提供一个接口,用于创建一组依赖的对象(接口),并且无需指定具体的实现对象 具体的工厂决定了怎样的一系列具体对象会被创建,方法所返回的将是一个抽象的产品接口类型。在运行时上下文中,客户端将依赖于这个抽象的产品接口指针,而不用关心具体的实现提供者是什么。

设计模式:抽象工厂模式(Abstract Factory)

概述 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。 意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 模型图 逻辑模型: