【软考学习】设计模式——工厂方法
来源:互联网 发布:linux xampp使用教程 编辑:程序博客网 时间:2024/06/03 03:27
【背景】
设计模式是非常重要的一块知识,每个设计模式都值得深入了解和学习。
【内容】
工厂方法设计模式总结:
一、定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。使一个类的实例化延迟到其子类。
二、UML结构图:
三、代码实现:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 工厂方法_计算器{ class Operation { private double _numberA = 0; private double _numberB = 0; public double NumberA { get { return _numberA; } set { _numberA = value; } } public double NumberB { get { return _numberB; } set { _numberB = value; } } /// <summary> /// 得到运算结果 /// </summary> /// <returns></returns> public virtual double GetResult() { double result = 0; return result; } } /// <summary> /// 加法类 /// </summary> class OperationAdd: Operation { public override double GetResult() { double result=0; result =NumberA+NumberB; return result ; } } /// <summary> /// 减法类 /// </summary> class OperationSub:Operation { public override double GetResult() { double result=0; result =NumberA-NumberB; return result; } } /// <summary> /// 乘法类 /// </summary> class OperationMul:Operation { public override double GetResult() { double result =0; result =NumberA *NumberB; return result; } } /// <summary> /// 除法类 /// </summary> class OperationDiv:Operation { public override double GetResult() { double result=0; result =NumberA /NumberB; return result; } } /// <summary> /// 工厂方法 /// </summary> interface IFactory { Operation CreateOperation(); } /// <summary> /// 专门负责生产“+”的工厂 /// </summary> class AddFactory : IFactory { public Operation CreateOperation() { return new OperationAdd(); } } /// <summary> /// 专门负责生产“-”的工厂 /// </summary> class SubFactory : IFactory { public Operation CreateOperation() { return new OperationSub(); } } /// <summary> /// 专门负责生产“*”的工厂 /// </summary> class MulFactory : IFactory { public Operation CreateOperation() { return new OperationMul(); } } /// <summary> /// 专门负责生产“/”的工厂 /// </summary> class DivFactory : IFactory { public Operation CreateOperation() { return new OperationDiv(); } }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 工厂方法_计算器{ class Program { static void Main(string[] args) { IFactory operFactory = new AddFactory(); Operation oper = operFactory.CreateOperation(); oper.NumberA = 1; oper.NumberB = 2; double result = oper.GetResult(); Console.WriteLine(result); Console.Read(); } }}
阅读全文
0 0
- 【软考学习】设计模式——工厂方法
- 【软考学习】设计模式——抽象工厂
- 设计模式学习—工厂方法模式
- 学习设计模式——工厂方法
- 设计思想学习—工厂方法模式
- Head First 设计模式学习——简单工厂方法-工厂方法模式-抽象工厂模式
- 设计模式学习笔记——简单工厂模式、工厂方法模式、抽象工厂模式
- 【软考学习】设计模式——单例模式
- 【软考学习】设计模式——建造者模式
- 【软考学习】设计模式——原型模式
- 【软考学习】设计模式——适配器模式
- 【软考学习】设计模式——组合模式
- 【软考学习】设计模式——装饰模式
- 【软考学习】设计模式——代理模式
- 设计模式学习笔记——工厂方法模式
- JAVA设计模式学习5——工厂方法模式
- 学习设计模式之禅——工厂方法模式
- 设计模式学习2——工厂方法模式
- Idea中使用Springboot和webuploader插件进行文件上传
- 安卓actionBar上无法显示搜索按钮如何解决
- 软考
- Matlab中常用函数
- 时崎狂三的咖啡馆
- 【软考学习】设计模式——工厂方法
- UI控件 -> ListView
- 1.java基础加强
- 【JZOJ 5452】【NOIP2017提高A组冲刺11.5】轰炸
- 《汇编语言》(第三版)王爽第十章实验10.2个人方法记录
- 简单注册表单验证
- 软件质量特性
- PV操作
- 济南刷题冲刺 Day2 上午