c#工厂模式
创建一个抽象类:
public abstract class Test {
public abstract void Print();//输出信息
}
创建输出123的测试类
public class Test1: Test {
public override void Print()
{
Console.WriteLine("123");
}
}
创建输出456的测试类
public class Test2: Test {
public override void Print()
{
Console.WriteLine("456");
}
}
创建抽象工厂类
/// <summary>
/// 抽象工厂类
/// </summary>
public abstract class Creator
{
// 工厂方法
public abstract TestCreateTest();
}
创建123的工厂类
public class Test1Factory : Creator {
public override Test TestCreateTest()
{
return new Test1();
}
}
创建456的工厂类
public class Test2Factory : Creator {
public override Test TestCreateTest()
{
return new Test2();
}
}
客户端调用的时候:
Creator creator1= new Test1Factory ();
Creator creator2= new Test2Factory ();
Test t1 = Test1Factory .TestCreateTest();
t1.Print();
Test t2 = Test2Factory .TestCreateTest();
t2 .Print();
如果需求需要增加,这时候只需要在创建789的类,和相应的工厂类就可以了
最新文章
- (二十)WebGIS中图层树功能的设计和实现
- JavaScript侧边悬浮框
- Web API 自动生成帮助文档并使用Web API Test Client 测试
- Gradle学习系列之九——自定义Task类型
- jstl 的应用 java
- GROUP BY,WHERE,HAVING之间的差别和使用方法
- Ext.Net学习笔记05:Ext.Net DirectEvents用法详解
- Unity 异步加载场景
- JS常用方法函数(2)
- 笔试 - 高德软件有限公司python问题 和 答案
- 【转】Linux下软、硬链接的创建和删除
- Windows系统下文件的概念及c语言对其的基本操作(甲)
- OKR能解决996吗?德鲁克怎么看?
- 用jQuery实现Ajax
- MySQL执行计划解析
- Excel函数匹配查找
- POJ 3040 Allowance【贪心】
- Unity 平台依赖编译
- linux 查找匹配文件中包含指定字符的 前五行,这里是指所有匹配的前五行
- MySQL复制(一)复制原理探讨