创建一个抽象类:

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的类,和相应的工厂类就可以了

最新文章

  1. (二十)WebGIS中图层树功能的设计和实现
  2. JavaScript侧边悬浮框
  3. Web API 自动生成帮助文档并使用Web API Test Client 测试
  4. Gradle学习系列之九——自定义Task类型
  5. jstl 的应用 java
  6. GROUP BY,WHERE,HAVING之间的差别和使用方法
  7. Ext.Net学习笔记05:Ext.Net DirectEvents用法详解
  8. Unity 异步加载场景
  9. JS常用方法函数(2)
  10. 笔试 - 高德软件有限公司python问题 和 答案
  11. 【转】Linux下软、硬链接的创建和删除
  12. Windows系统下文件的概念及c语言对其的基本操作(甲)
  13. OKR能解决996吗?德鲁克怎么看?
  14. 用jQuery实现Ajax
  15. MySQL执行计划解析
  16. Excel函数匹配查找
  17. POJ 3040 Allowance【贪心】
  18. Unity 平台依赖编译
  19. linux 查找匹配文件中包含指定字符的 前五行,这里是指所有匹配的前五行
  20. MySQL复制(一)复制原理探讨

热门文章

  1. 软件包管理(rpm、yum、dpkg)
  2. 1118. Birds in Forest (25)
  3. 【学习】022 ActiveMQ
  4. thinkphp5 yii2 laravel5.1 框架性能压测对比图
  5. 失控的未来交通工具 (LOJ 508,带权并查集,数论)
  6. 强大的VS插件CodeRush发布v19.1.4|支持Visual Studio 2019
  7. 【LOJ#6036】[雅礼集训2017Day4]编码
  8. layui js动态添加的面板不能折叠
  9. MySql的导入导出
  10. BP算法演示