抽象工厂方法模式(创建型)
来源:互联网 发布:如何代理淘宝店 编辑:程序博客网 时间:2024/05/17 23:31
意图:
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
适用性:
一个系统要独立于它的产品的创建、组合和表示时。
一个系统要由多个产品系列中的一个来配置时。
当你要强调一系列相关的产品对象的设计以便进行联合使用时。
当你提供一个产品类库,而只想显示它们的接口而不是实现时。
#region 抽象工厂模式
#region 产品
#region 产品A
/// <summary>
/// 抽象产品A
/// </summary>
public
abstract
class
ProductA
{
}
public
class
ConcreteProductA1 : ProductA
{
public
ConcreteProductA1()
{
Console.WriteLine(
"ProductA的ConcreteProductA1...A1"
);
}
}
public
class
ConcreteProductA2 : ProductA
{
public
ConcreteProductA2()
{
Console.WriteLine(
"ProductA的ConcreteProductA2...A2"
);
}
}
#endregion
#region 产品B
/// <summary>
/// 抽象产品B
/// </summary>
public
abstract
class
ProductB
{
}
public
class
ConcreteProductB1 : ProductB
{
public
ConcreteProductB1()
{
Console.WriteLine(
"ProductB的ConcreteProductB1类...B1"
);
}
}
public
class
ConcreteProductB2 : ProductB
{
public
ConcreteProductB2()
{
Console.WriteLine(
"ProductB的ConcreteProductB2类...B2"
);
}
}
#endregion
#endregion
#region 工厂类
public
abstract
class
Creator
{
public
abstract
ProductA CreateProductA();
public
abstract
ProductB CreateProductB();
}
public
class
ConcreteCreatorA : Creator
{
public
override
ProductA CreateProductA()
{
return
new
ConcreteProductA1();
}
public
override
ProductB CreateProductB()
{
return
new
ConcreteProductB1();
}
}
public
class
ConcreteCreatorB : Creator
{
public
override
ProductA CreateProductA()
{
return
new
ConcreteProductA2();
}
public
override
ProductB CreateProductB()
{
return
new
ConcreteProductB2();
}
}
#endregion
#endregion
//Client
static
void
Main(
string
[] args)
{
#region 抽象工厂模式
Creator _creatorA =
new
ConcreteCreatorA();
_creatorA.CreateProductA();
_creatorA.CreateProductB();
Creator _creatorB =
new
ConcreteCreatorB();
_creatorB.CreateProductA();
_creatorB.CreateProductB();
#endregion
Console.ReadLine();
}
0 0
- 抽象工厂方法模式(创建型)
- 创建型模式之抽象工厂模式(Abstract Factory)- 工厂方法模式(Factory Method)
- 【23种设计模式】创建型模式 > 三个工厂模式(简单工厂、抽象工厂、工厂方法)
- Java设计模式(2)创建型:工厂模式(工厂方法模式与抽象工厂模式)
- 创建型模式:工厂模式(简单工厂模式,抽象工厂模式,工厂模式)
- 创建型模式01:简单工厂模式、工厂方法模式、抽象工厂模式
- "围观"设计模式(8)--创建型之简单工厂模式、工厂方法模式、抽象工厂模式
- "围观"设计模式(8)--创建型之简单工厂模式、工厂方法模式、抽象工厂模式
- 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 工厂方法模式(Factory Method) 工厂方法模式分为三种:普通工厂模式 多个工厂方法模式 静态工
- 抽象工厂(创建型模式)
- 抽象工厂模式(创建型)
- 创建型设计模式之抽象工厂方法模式
- 2-创建型-简单工厂模式-工厂方法模式-抽象工厂模式
- 创建型模式-抽象工厂
- 创建型模式-抽象工厂
- 抽象工厂模式(创建型)
- 【JavaScript设计模式】创建型设计模式--简单工厂、工厂方法、抽象工厂
- Java 创建型模式:单态模式,原型模式,工厂方法,抽象工厂,建造者模式
- C与C++简单文件操作比较
- 《Spring技术内幕》学习笔记16——Spring具体事务处理器的实现
- 你第一要做的是开始去做
- IOS的手势检测
- 《Spring技术内幕》学习笔记17——Spring HTTP调用器实现远程调用
- 抽象工厂方法模式(创建型)
- 深搜专题初步-1004
- 《Spring技术内幕》学习笔记18——Spring使用Hessian实现远程调用
- 《Spring技术内幕》学习笔记19——Spring RMI实现远程调用
- JavaScript常用代码段
- GRE写作必备句型
- 转载:Hadoop Streaming高级编程
- Unity3D如何集成ShareSDK
- Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException: