目录

  1. 定义
  2. UML
  3. 参与者(角色)
  4. 示例(分析)

定义:

抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式针对的是多个产品等级结构。

 

UML:

.Net 抽象工厂(Abstract Factory)

 

参与者:

抽象工厂(Abstract Factory)角色:声明一个抽象方法用于创建抽象产品业务。

具体工厂(Concrete Factory)角色:实现这个抽象工厂的具体对象。

抽象产品(Abstract Product)角色:声明一个抽象的产品对象

具体产品(Concrete Product)角色:实现抽象产品对象。

客户 (Client) 角色:调用抽象工厂来实现某个具体的产品。

 

示例分析:

从上面的UML来看,ProductA继承了AbstractProductA这个抽象类,这个抽象类中放了一些抽象方法,这些方法必须有子类来实现它。

由于产品的多样化,必然会实例化多个产品,于是我们引入了抽象工厂(AbstractFactory)。抽象工厂里面放了创建某个产品的抽象方法。有了这个抽象工厂,我们必须要实现这个抽象工厂吧,于是有了具体工厂(ConcreteFactory)。那么我们调用方(Client)只要调用抽象工厂来调用该工厂相应的方法就可以了。

.Net 抽象工厂(Abstract Factory)

using System; namespace Abstract_Factory { public class ProductA : AbstractProductA { public override void Run() { Console.WriteLine("run productA"); } } public class ProductB : AbstractProductB { public override void Interact(AbstractProductA a) { Console.WriteLine(this.GetType().Name + "" + a.GetType().Name); } } }

相关文章:

  • 2021-10-02
  • 2022-02-18
  • 2021-06-29
  • 2022-12-23
  • 2021-05-13
  • 2021-08-08
  • 2021-06-02
  • 2021-09-26
猜你喜欢
  • 2021-04-27
  • 2022-01-23
  • 2021-11-29
  • 2021-07-15
  • 2021-08-17
  • 2021-10-20
  • 2021-07-28
相关资源
相似解决方案