Abstract Factory 抽象工厂模式(创建型模式)
来源:互联网 发布:阿里云境外服务器教程 编辑:程序博客网 时间:2024/05/16 09:56
using System;
using System.IO;
public class Road //路的概念
{
}
public class WaterRoad:Road //水路
{
}
public class StoneRoad : Road //石头路
{
}
//类库
public class RoadFactory
{
public static Road CrateRoad()
{
return new WaterRoad();
// return new StoneRoad(); 修改
//
}
}
//以下客户程序
public class user
{
public void Main(sting[] args)
{
Road r1 = new WaterRoad();
Road r2 = RoadFactory.CrateRoad();
/*
* 假定如果我们开始定义了水路,我们r1的定义方式只用一个new,
* 但是某天我们的路变成石头路了,我们则需要修改:
* 1.类库要增加一个路,石头路。
* 2.客户程序还得修改r1的实力化代码。
* 这样做是不太好的。
* r2的方法则比较灵活,客户程序是不需要修改的。
* 只需要修改类库里的RoadFactory.CratrRoad()方法就可以让所有使用水路的客户程序都变成石头路。
*/
}
}
using System.IO;
public class Road //路的概念
{
}
public class WaterRoad:Road //水路
{
}
public class StoneRoad : Road //石头路
{
}
//类库
public class RoadFactory
{
public static Road CrateRoad()
{
return new WaterRoad();
// return new StoneRoad(); 修改
//
}
}
//以下客户程序
public class user
{
public void Main(sting[] args)
{
Road r1 = new WaterRoad();
Road r2 = RoadFactory.CrateRoad();
/*
* 假定如果我们开始定义了水路,我们r1的定义方式只用一个new,
* 但是某天我们的路变成石头路了,我们则需要修改:
* 1.类库要增加一个路,石头路。
* 2.客户程序还得修改r1的实力化代码。
* 这样做是不太好的。
* r2的方法则比较灵活,客户程序是不需要修改的。
* 只需要修改类库里的RoadFactory.CratrRoad()方法就可以让所有使用水路的客户程序都变成石头路。
*/
}
}
- Abstract Factory抽象工厂(创建型模式)
- 创建型模式 ABSTRACT FACTORY---抽象工厂
- Abstract Factory 抽象工厂(创建型模式)
- 【创建型模式】abstract factory(抽象工厂)
- 【创建型模式】abstract factory(抽象工厂)
- 创建型-抽象工厂模式(abstract factory)
- 创建模式:Abstract Factory 抽象工厂模式
- Abstract Factory 抽象工厂模式(创建型模式)
- 创建型模式--抽象工厂模式(Abstract Factory)
- 2. 抽象工厂模式(Abstract Factory) ---------- 创建型模式
- Abstract Factory 抽象工厂模式(创建型模式)
- 设计模式-创建型模式之 Abstract Factory(抽象工厂)
- Abstract Factory 抽象工厂模式(创建型模式)
- 创建型模式2:抽象工厂模式(Abstract Factory)
- 创建型设计模式之抽象工厂(Abstract Factory)模式
- 二、创建型模式:抽象工厂模式(Abstract Factory)
- 创建型模式:抽象工厂模式(Abstract Factory Pattern)
- 创建型模式:抽象工厂模式(Abstract Factory)--分析优缺点
- 卓越编程之道(一)
- 编程之道
- 《C++ Primer》学习笔记_第一章
- 给CuteEditor5增加了高亮代码显示功能
- 事务管理最佳实践全面解析(转)http://blog.csdn.net/shendl/archive/2006/11/27/1415958.aspx
- Abstract Factory 抽象工厂模式(创建型模式)
- 新疆式幽默
- C#运算符
- C#C# XMLXML 修改修改 新增新增 删除删除 插入插入
- .NET环境下水晶报表使用总结
- C#中的正则表达式
- How to Install Java in Fedora Core 6
- 001
- 002