浅谈C#设计模式之工厂模式
作者:hebedich 时间:2021-12-17 16:06:48
工厂模式和简单工厂有什么区别。废话不多说,对比第一篇例子应该很清楚能看出来。
优点: 工厂模式弥补了简单工厂模式中违背开放-封闭原则,又保持了封装对象创建过程的优点。
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();
}
}
}
客户端调用:
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();
这里主要是对比了下和简单工厂模式的区别,记录下来,以防自己搞混。
标签:C#,设计模式,工厂模式
0
投稿
猜你喜欢
java如何用Processing生成马赛克风格的图像
2023-11-07 20:52:44
Spring Boot实现分布式锁的自动释放的示例代码
2023-10-17 11:06:24
Java面试题冲刺第五天--基础篇2
2023-10-07 13:17:04
浅谈Java基础知识之BigDecimal
2021-09-06 16:49:27
Java基于Swing实现的打猎射击游戏代码
2021-06-29 17:04:56
C#串口连接的读取和发送详解
2022-05-11 10:04:47
Java中简单实用Quartz概述
2021-09-09 14:16:30
Java class文件格式之数据类型(二)_动力节点Java学院整理
2022-06-26 02:15:45
SSM如何实现在Controller中添加事务管理
2023-11-29 07:23:18
c#如何使用 XML 文档功能
2023-12-25 03:44:33
Spring Shell应用程序开发流程解析
2021-06-28 23:20:50
Java语言中&&与& ||与|的区别是什么
2022-06-10 17:44:09
Android判断用户2G/3G/4G移动数据网络
2022-12-13 03:21:49
winform去掉右上角关闭按钮的方法
2023-02-11 16:31:40
详解Android使用CoordinatorLayout+AppBarLayout实现拉伸顶部图片功能
2023-04-27 16:55:29
Java使用自定义注解实现为事件源绑定事件监听器操作示例
2023-06-21 01:17:55
Java 数据结构进阶二叉树题集下
2022-07-11 19:16:18
C#超市收银系统设计
2023-06-21 00:00:09
springboot如何静态加载@configurationProperties
2021-12-13 16:20:13
Spring Security+JWT实现认证与授权的实现
2022-04-02 00:41:11