因为上次没给代码,再次给Aragorn_Elessar等朋友道个歉,
我这里的环境是.net 1.1 用c#描述:
问题先描述一下:
我要一条鱼,现在地方有三个可以让我选择,一、菜市场;二、花鸟市场;三、钓鱼场;
现在先定义鱼的类
string fname;//鱼的名称
publicFish(string fname)
...{
然后定义抽象工厂类
具体工厂:
classFactory1:Factory
...{
public override Fish getFish()
{
.....
//返回鱼1
return new Fish("鱼1");
}}
classFactory2:Factory
...{
public override Fish getFish()
{
.....
//返回鱼2
return new Fish("鱼2");
}}
classFactory3:Factory
...{
public override Fish getFish()
{
.....
//返回鱼3
return new Fish("鱼3");
}}
还有一个得到工厂的类
classstaticGetFactory
...{
privatevoidsetFactory(stringflag)
...{
...
//选择符合的Factory
//具体怎么选择就不说了
//返回
return某个Factory;
}
}
我要一条鱼:
Factory oneFactory=GetFactory.setFactory("取得某个工厂的参数");//可以配置在配置文件中。
Fish fish=oneFactory.getFish();//某个工厂就已经决定某条鱼了。
如果再扩展的话,就把Fish变成抽象的,具体的有Fish1,Fish2,Fish3.
写的比较仓促,刚刚起来,按自己记忆中的写了,也没仔细想,当然仅仅是为了得到一条鱼而用模式工厂有点傻,这个例子不好,只是为了说明这么个写法,谢谢你们的批评,至于抽象工厂是专门为了解决什么而存在,我个人的意见是能解决什么问题就解决什么问题,也不局限与“两个产品更新换代绑定”,你觉得呢,欢迎再给我提点建议,:)
分享到:
相关推荐
Abstract_Factory抽象工厂Abstract_Factory抽象工厂Abstract_Factory抽象工厂Abstract_Factory抽象工厂
抽象工厂(Abstract Factory)模式是设计模式中的一种创建型模式,它提供了一种...在阅读提供的博客文章《AbstractFactory 抽象工厂》和研究压缩包中的相关文件时,你可以深入学习到更多关于这个模式的实践和应用场景。
2. **具体工厂(Concrete Factory)**:实现了抽象工厂接口,负责创建具体的产品对象。 3. **抽象产品(Abstract Product)**:定义了产品的接口,产品家族中的每个成员都有一个共同的基类或接口。 4. **具体产品...
**抽象工厂模式(Abstract Factory Pattern)是创建型设计模式之一,它提供了一种创建对象的接口,使得子类可以决定实例化哪一个类。这种类型的设计模式属于类的创建模式。** 在C#中,抽象工厂模式的核心在于抽象...
1. 抽象工厂(Abstract Factory):这是模式的核心,它是一个接口或抽象类,定义了一系列创建对象的方法,但并不直接实例化具体的对象。这些方法用于创建一系列相关或相互依赖的对象。 2. 具体工厂(Concrete ...
这个压缩包“C# 抽象工厂 AbstractFactory.rar”可能包含了一个关于如何在C#中实现抽象工厂模式的实例或教程。 抽象工厂模式是一种创建型设计模式,它提供了一种创建对象族的方式,而无需指定具体类。在C#中,这种...
1. **模式结构**:抽象工厂模式通常包括抽象工厂接口(AbstractFactory),具体工厂类(ConcreteFactory),抽象产品接口(Product)以及具体产品类(ConcreteProduct)。抽象工厂定义了创建产品的方法,而具体工厂...
2. 具体工厂(Concrete Factory):实现了抽象工厂接口,负责创建具体的产品对象。 3. 抽象产品(Abstract Product):这是接口或抽象类,定义了产品的规范。 4. 具体产品(Concrete Product):实现了抽象产品接口...
1. **抽象工厂接口(Abstract Factory)**:定义一个创建对象的接口,但不指定具体的实现。在C#中,这通常表现为一个接口,如`IAbstractFactory`。 2. **具体工厂类(Concrete Factory)**:实现了抽象工厂接口,...
1. **抽象工厂(Abstract Factory)**:定义一个创建对象的接口,但不指定具体的实现。在C#中,这通常表现为一个接口,如`IAbstractFactory`。 2. **具体工厂(Concrete Factory)**:实现了抽象工厂接口,负责创建...
在“AbstractFactory.rar”这个压缩包中,我们可以预想包含了一个简单的示例,用来演示抽象工厂模式的基本概念和应用。 抽象工厂模式的核心在于“工厂”,在软件工程中,工厂是负责创建对象的类或接口。在这个具体...
在这个例子中,`AbstractProductA`和`AbstractProductB`是抽象产品,`ConcreteProductA1/A2`和`ConcreteProductB1/B2`是具体产品,`AbstractFactory`是抽象工厂,`ConcreteFactory1/2`是具体工厂。客户端代码通过...
1. 抽象工厂(Abstract Factory):这是模式的核心,定义了一组创建对象的接口,客户端通过这个接口请求创建所需的产品。这个接口不直接创建产品,而是将产品创建的职责委托给具体工厂。 2. 具体工厂(Concrete ...
2. **具体工厂类(Concrete Factory)**:实现了抽象工厂接口,负责创建具体的对象。在这个例子中,`NWFactory`可能是北方地区的人和动物的具体工厂。 3. **抽象产品接口(Abstract Product)**:定义了一类产品的...
### 抽象工厂模式(Abstract Factory Pattern) #### 引入 在探讨抽象工厂模式之前,我们先回顾一下之前介绍过的简单工厂模式与工厂方法模式。这两种模式主要关注于解决对象创建过程中“new”操作的问题,使得创建...
在软件设计模式中,工厂方法(Factory Method)和抽象工厂(Abstract Factory)是两种非常重要的创建型模式。它们主要用于解决对象实例化的问题,提供了一种封装对象创建过程的方法,使得代码更加灵活,易于扩展和...
抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一种在不指定具体类的情况下创建一系列相关或相互依赖对象的接口。这个模式使得客户端代码与具体产品的实现解耦,从而提高了系统的灵活性和...
抽象工厂(Abstract Factory)设计模式是软件工程中一种重要的创建型设计模式,它提供了一种创建对象组的方式,这些对象属于同一族系并且彼此相关。这个模式的主要目标是定义一个接口,用于创建一族相关或相互依赖的...
抽象工厂模式(Abstract Factory)是一种创建型设计模式,用于提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。这种模式的关键在于,它允许客户端代码与具体的实现细节解耦,使得添加新的产品...