DesignPattern-Factory Method
来源:互联网 发布:c 编程主要应用 编辑:程序博客网 时间:2024/06/03 21:39
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace Design_Patterns
{
//食品产品父类 接口
public interface FoodProduct
{
//.......
}
//A食品
public class FoodProductA : FoodProduct
{
//.......
}
//B食品
public class FoodProductB : FoodProduct
{
//.......
}
//C食品
public class FoodProductC : FoodProduct
{
//.......
}
//食品生产工厂 抽象类 工厂方法模式是简单工厂的衍生 (单系列产品种类是不定的,是变化的,不依赖)实现“开闭原则”,实现了可扩展。
public abstract class Market
{
public FoodProduct GetFood()
{
return CreateFood();
}
public abstract FoodProduct CreateFood();
}
//生成食品A
public class MarketA : Market
{
public override FoodProduct CreateFood()
{
//.......
return new FoodProductA();
}
}
//生成食品B
public class MarketB : Market
{
public override FoodProduct CreateFood()
{
//.....
return new FoodProductB();
}
}
//生成食品C
public class MarketC : Market
{
public override FoodProduct CreateFood()
{
//.....
return new FoodProductC();
}
}
//调用
public class Test
{
Market ma = new MarketA();
public Test()
{
ma.GetFood();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace Design_Patterns
{
//食品产品父类 接口
public interface FoodProduct
{
//.......
}
//A食品
public class FoodProductA : FoodProduct
{
//.......
}
//B食品
public class FoodProductB : FoodProduct
{
//.......
}
//C食品
public class FoodProductC : FoodProduct
{
//.......
}
//食品生产工厂 抽象类 工厂方法模式是简单工厂的衍生 (单系列产品种类是不定的,是变化的,不依赖)实现“开闭原则”,实现了可扩展。
public abstract class Market
{
public FoodProduct GetFood()
{
return CreateFood();
}
public abstract FoodProduct CreateFood();
}
//生成食品A
public class MarketA : Market
{
public override FoodProduct CreateFood()
{
//.......
return new FoodProductA();
}
}
//生成食品B
public class MarketB : Market
{
public override FoodProduct CreateFood()
{
//.....
return new FoodProductB();
}
}
//生成食品C
public class MarketC : Market
{
public override FoodProduct CreateFood()
{
//.....
return new FoodProductC();
}
}
//调用
public class Test
{
Market ma = new MarketA();
public Test()
{
ma.GetFood();
}
}
}
- DesignPattern-Factory Method
- DesignPattern-Simple Factory
- DesignPattern-Abstract Factory
- DesignPattern-Abstract Factory 修改
- Factory Method
- factory method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- mongoDB sharding 集群配置示例(转)
- 异步IRP的教训(已附DUMP)
- 做个睿智的女子
- 15个google面试题
- 单链表逆序算法
- DesignPattern-Factory Method
- 水晶报表中去掉小数点后面无用的零
- 对select和epoll的理解
- Hadoop MR 数据聚类算法
- open打开的页面最大化的js方法和如何获取电脑宽度和高度的方法
- Android UI学习 - FrameLayou和布局优化
- 【引用】关于ALTERA提供的FIFO核使用原理
- directfb研究
- JQuery三大选择器:(基本+层次+表单)选择器