• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 浅谈C#设计模式之工厂模式

浅谈C#设计模式之工厂模式

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了浅谈ppp模式,浅谈控销模式,浅谈教学模式,浅谈风机台风模式,浅谈微课教学模式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

工厂模式和简单工厂有什么区别。废话不多说,对比第一篇例子应该很清楚能看出来。

优点: 工厂模式弥补了简单工厂模式中违背开放-封闭原则,又保持了封装对象创建过程的优点。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DesignModel
{
    public interface Factory
    {
        JS createjs();
    }
    public class JS
    {
        public int NumA { get; set; }
        public int NumB { get; set; }
        public virtual int GetResult()
        {
            return 0;
        }
    }
    public class Add1 : JS
    {
        public override int GetResult()
        {
            return NumA + NumB;
        }
    }
    public class Sub1 : JS
    {
        public override int GetResult()
        {
            return NumA - NumB;
        }
    }
    public class AddFactory : Factory
    {
        public JS createjs()
        {
            return new Add1();
        }
    }
    public class SubFactory: Factory
    {
        public JS createjs()
        {
            return new Sub1();
        }
    }
}
</div>

客户端调用:

  Factory factory = new AddFactory();
            JS  js = factory.createjs();
            js.NumA = 1;
            js.NumB = 2;
            Console.WriteLine( js.GetResult());
            Factory f = new SubFactory();
            JS J= f.createjs();
            J.NumA = 9;
            J.NumB = 0;
            Console.WriteLine(J.GetResult());
            Console.ReadLine();
</div>

这里主要是对比了下和简单工厂模式的区别,记录下来,以防自己搞混。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈C#设计模式之工厂模式
  • 浅谈C#设计模式之代理模式
  • 浅谈C#设计模式之开放封闭原则

相关文章

  • 2017-05-28C#返回多少分钟之前或多少分钟之后时间的方法
  • 2017-05-28基于C# 中可以new一个接口?的问题分析
  • 2017-05-28WPF 自定义雷达图开发实例教程
  • 2017-05-28C#中如何在Excel工作表创建混合型图表实例
  • 2017-05-28C#的内存回收代码
  • 2017-05-28浅析C#中StringBuilder类的高效及与String的对比
  • 2017-05-28C#难点逐个击破(1):ref参数传递
  • 2017-05-28FtpHelper实现ftp服务器文件读写操作(C#)
  • 2017-05-28浅谈C# 类的继承
  • 2017-05-28C#中Dictionary泛型集合7种常见的用法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • DataGridView控件显示行号的正确代码及分析
    • C# 设计模式系列教程-状态模式
    • C#难点逐个击破(7):checked与unchecked
    • 解析如何使用反射调用类型成员 方法,字段,属性
    • C#使用oledb操作excel文件的方法
    • 详解C# 网络编程系列:实现类似QQ的即时通信程序
    • C#读取Excel并转化成XML的方法
    • WinForm绘制圆角的方法
    • c#中合并excel表格的方法示例
    • c#程序删除自身代码示例分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有