C#设计模式(2)——简单工厂模式(Factory )
我们通过 Factory 创建对象不同的对象。
例如:如果创建一个汽车的接口,通过 工厂Factory 创建实现接口的对象,根据我们的选择来创建不同的对象。
创建汽车接口
/// <summary>
/// 简单工厂模式
/// </summary>
public interface IAutoCarMake
{
/// <summary>
/// 创建汽车
/// </summary>
void CreateAutoCar();
}
创建两个派生类,分别实现创建不同颜色的两种汽车
/// <summary>
/// 红色小轿车
/// </summary>
public class _RedCar: IAutoCarMake
{
public void CreateAutoCar()
{
Console.WriteLine("生成红色小轿车");
}
}
/// <summary>
/// 蓝色小轿车
/// </summary>
public class _BlueCar : IAutoCarMake
{
public void CreateAutoCar()
{
Console.WriteLine("生成蓝色小轿车");
}
}
通过工厂类生成不同的对象实例
/// <summary>
/// 简单工厂模式-工厂类
/// </summary>
public class Factory
{
public IAutoCarMake CreateAutoCar(string flag)
{
switch (flag)
{
case "red":
return new _RedCar();
case "blue":
return new _BlueCar();
}
return null;
} static void Main(string[] args)
{
IAutoCarMake parents = new Factory().CreateAutoCar("red"); IAutoCarMake parents = new Factory().CreateAutoCar("blue"); parents.CreateAutoCar(); Console.ReadKey();
}
}
C#设计模式(2)——简单工厂模式(Factory )的更多相关文章
- 设计模式之简单工厂模式(Simple Factory)
原文地址:http://www.cnblogs.com/BeyondAnyTime/archive/2012/07/06/2579100.html 今天呢,要学习的设计模式是“简单工厂模式”,这是一个 ...
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
jquery提供的serialize方法能够实现. $("#searchForm").serialize();但是,观察输出的信息,发现serialize()方法做的是将表单中的数 ...
- iOS设计模式 - (3)简单工厂模式
iOS设计模式 - (3)简单工厂模式 by Colin丶 转载请注明出处: http://blog.csdn.net/hitwhylz/article/ ...
- C#设计模式(2)-简单工厂模式
引言 上一遍中介绍了设计模式中的单例模式-C#设计模式(1)-单例模式,本篇将介绍简单工厂模式,也是比较容易理解的一种模式: 简单工厂模式简介 什么是简单工厂模式? 定义一个工厂类,它可以根据参数的不 ...
- C#设计模式(2)——简单工厂模式(转)
C#设计模式(2)——简单工厂模式 一.引言 这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理 ...
- 设计模式之简单工厂模式Simple Factory(四创建型)
工厂模式简介. 工厂模式专门负责将大量有共同接口的类实例化 工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类. 工厂模式有三种形态: 1.简单工厂模式Simple Factory ...
- 【设计模式】简单工厂模式 Simple Factory Pattern
简单工厂模式Simple Factory Pattern[Simple Factory Pattern]是设计模式里最简单的一个模式,又叫静态工厂模式[Static Factory Pattern], ...
- 设计模式之简单工厂模式(Simply Factory)摘录
从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫静态工厂方法(Static Factory Method)模式.但不属于23种GOF设计模式之中的一个.简单工厂模式是由一个工厂对象决定创建出 ...
- C#设计模式之简单工厂模式(Simple Factory)
1. 概述 简单工厂模式就是将一个类的实例化交给一个静态工厂来执行. 2. 使用频率 中 3. 模式结构 3.1 机构图 3.2 模式中的角色 Product:抽象类,把具体产品类公共的代码进行抽象和 ...
- 设计模式~简单工厂模式(Factory)
简单工厂模式Simple Factory根据提供给它的数据,返回一个类的实例.通常它返回的类都有一个公共的父类(或者接口对象). 简单工厂的作用是实例化对象,而不需要客户了解这个对象属于哪个具体的子类 ...
随机推荐
- 1091 N-自守数
如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为“N-自守数”.例如 3×922=25392,而 25392 的末尾两位正好是 92,所以 92 是一个 3-自守 ...
- top 常用
top -c 查看进程 同时 shift +m 内存倒序
- Mysql5.7实现主从复制、基于GTID的主从复制、并行复制
(一.主从复制) 一.mysql主从复制原理 mysql的默认复制方式是主从复制.Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制, ...
- 将100道计算题输出至txt文件,再读取文件至控制台,在控制台中输入答案并评判对错
我在课堂上基本完成了输出100道题和创建文档,但是因为对输入输出流不熟悉,所以并没有实现将输出的计算题导出到文档里,在课下我又请教了宿舍的大佬,基本完成如下: 源代码: import java.io. ...
- Java堆、栈和常量池以及相关String详解
一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register). 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部.但是寄存器的数量极其有限,所以寄存器由编译器根据 ...
- [转]keepalived简介
https://www.jianshu.com/p/b050d8861fc1 contents: 什么是Keepalived VRRP协议简介 Keepalived原理 Keepalived配置文件详 ...
- Mat的详解
[转]OpenCV中Mat的详解 每次碰到Mat都得反复查具体的用法,网上的基础讲解不多,难得看到一篇,赶快转来收藏~ 原文地址:http://www.opencvchina.com/thread-1 ...
- win7共享打印机如何设置,xp系统如何连接共享打印机。
一.xp如何连接win7共享打印机——连接win7共享打印机出现“禁用当前的账户”怎么办 保证xp和win7在同一局域网内.然后在xp电脑中打开[运行],输入win7电脑的ip地址.比如,我的办公 ...
- kali 2018.2版本运行破解版burpsuite时候的问题。
最近重装了kali虚拟机,装完之后把burp拷到里面发现运行不了了,折腾了下才解决,问题主要是由于java环境造成的. 系统默认是以java10运行burp的,但是java10好像是不支持 -X ...
- 菜鸟Vue学习笔记(二)
上一篇文章跟大家分享了Vue笔记上半部分,这篇文章接着跟大家分享.最近学习Vue越来越顺利了,今天接着学习,接着记录. 首先,来学习下常用的v-bind属性,它的作用是在属性中使用vue中定义的变量的 ...