C#简单工厂案例
using System;
namespace Application
{
class JianDanGongChang
{
static void Main(string[] args)
{
Factory factory=new Factory();
DianNao diannao=factory.Create("Lx");
diannao.Print();
}
} public abstract class DianNao
{
public abstract void Print();
} public class LianXiang:DianNao
{
public override void Print()
{
Console.WriteLine("联想电脑");
}
} public class DaiEr:DianNao
{
public override void Print()
{
Console.WriteLine("戴尔电脑");
}
}
//创建一个工厂类
public class Factory
{
private DianNao dianNao;
//创建一个工厂方法
public DianNao Create(string diannao){
switch(diannao)
{
case "Lx":dianNao=new LianXiang();
break;
case "De":dianNao=new DaiEr();
break;
default:
break;
}
return dianNao;
}
} }
C#简单工厂案例的更多相关文章
- 设计模式 — 简单工厂模式(Simple Factory)
		
定义:定义一个工厂类,它可以根据参数的不同返回不同类型的实例,被创建的实例通常有公共的父类. 模式类型:创建型模型 Factory(工厂角色):即工厂类,负责实现创建所有产品实例的内部逻辑:工厂类可以 ...
 - Java设计模式(一) 简单工厂模式不简单
		
摘要:本文介绍了简单工厂模式的概念,优缺点,实现方式,以及结合Annotation和反射的改良方案(让简单工厂模式不简单).同时介绍了简单工厂模式(未)遵循的OOP原则.最后给出了简单工厂模式在JDB ...
 - (1)java设计模式之简单工厂模式
		
一:简单工厂模式的优点 --->在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Fa ...
 - dom4j解析器   基于dom4j的xpath技术 简单工厂设计模式  分层结构设计思想  SAX解析器 DOM编程
		
*1 dom4j解析器 1)CRUD的含义:CreateReadUpdateDelete增删查改 2)XML解析器有二类,分别是DOM和SAX(simple Api for xml). ...
 - 设计模式(四):SIMPLE FACTORY简单工厂模式 -- 创建型模式
		
1.定义 简单工厂模式又称静态工厂方法模式.重命名上就可以看出这个模式一定很简单.它存在的目的很简单:定义一个用于创建对象的接口. 2.适用场景 如果一个客户要一款宝马车,一般的做法是客户去创建一款宝 ...
 - 简单工厂设计模式(Simple Factory Design Pattern)
		
[引言]最近在Youtub上面看到一个讲解.net设计模式的视频,其中作者的一个理解让我印象很深刻:所谓的设计模式其实就是运用面向对象编程的思想来解决平时代码中的紧耦合,低扩展的问题.另外一点比较有见 ...
 - C#版--简单工厂模式
		
为什么要用设计模式? 1.设计模式是前人根据经验总结出来的,使用设计模式,就相当于是站在了前人的肩膀上. 2.设计模式使程序易读.熟悉设计模式的人应该能够很容易读懂运用设计模式编写的程序. 3.设计模 ...
 - Kotlin入门第四课:简单工厂模式
		
Kotlin基础知识的学习,请参考之前的文章: Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操作 Kotlin入门第三课:数据类型 初次尝试用Kotlin实现Android ...
 - 简单工厂设计模式--Java设计模式(一)
		
一 概念: 简单工厂模式就是通过一个工厂类根据参数动态创建对应的类. 二 案例 我们以汽车作为例子,在现实生活中汽车只是一个抽象的产品,其中有很多类型的汽车才是具体产品,如奔驰.宝马.保时捷等等(当然 ...
 
随机推荐
- MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)
			
https://blog.csdn.net/panwen1111/article/details/79245161 目录MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整De ...
 - shell编程系列23--shell操作数据库实战之mysql命令参数详解
			
shell编程系列23--shell操作数据库实战之mysql命令参数详解 mysql命令参数详解 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使 ...
 - Python3基础 print 格式化输出 %% 输出%
			
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
 - vector 移除元素
			
vector中移除“与某值相等”的第一个元素. std::vector<Elem> coll; ... //remove first element with value val std: ...
 - AI佳作解读系列(五) - 目标检测二十年技术综述
			
计算机视觉中的目标检测,因其在真实世界的大量应用需求,比如自动驾驶.视频监控.机器人视觉等,而被研究学者广泛关注. 上周四,arXiv新出一篇目标检测文献<Object Detection ...
 - 【TensorRT】自定义网络层的实现custom layers
			
参考 1. Extending TensorRT With Custom Layers; 2. TensorRT Samples: MNIST(Plugin, add a custom layer); ...
 - Cas(07)——建立使用Cas进行单点登录的应用
			
建立使用Cas进行单点登录的应用 目录 1.1加入cas-client-core-xxx.jar到classpath 1.2配置Filter 1.2.1AuthenticationFilter 1.2 ...
 - 记联想SR850 Raid配置的一个bug
			
管理raid阵列时,如果要删除某个指定的阵列,则需要选中阵列名而不能选中虚拟磁盘.如果选中的是虚拟磁盘,点击删除后,会删除整个阵列列表里的第一个阵列,而非虚拟磁盘所在的阵列. 过程如下 联想SR850 ...
 - 最新  上海轻轻java校招面经 (含整理过的面试题大全)
			
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.上海轻轻等10家互联网公司的校招Offer,因为某些自身原因最终选择了上海轻轻.6.7月主要是做系统复习.项目复盘.Leet ...
 - Spring Boot 初学避免犯不必要的错误
			
创建项目时的目录问题: 新包体(例如controller)必须和启动文件 DemoApplication.java 在同一级目录下,如下 spring boot 初步使用创建新的项目:https:// ...