c#中简单工厂模式

运算类

 public  class yunsuan
    {
       public static operation create(string operate) {
           operation oper = null;
           switch (operate) {
                   case "+":
                   oper = new add();
                   break;
               case "-":
                   oper = new sub();
                   break;
               case "*":
                   oper = new cheng();
                   break;
               case "/":
                   oper = new chu();
                   break;

           }
           return oper;

       }
    }
    //类的属性
    public 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; }
        }
        public virtual double getresult() {
            double result = 0;
            return result;

        }

    }
    //类继承运算

    class add : operation {//加法
        public override double getresult()
        {
            double result = 0;
            result = NumberA + NumberB;
            return result;
        }
    }
    //减法
    class sub : operation {
        public override double getresult()
        {
            double result = 0;
            result = NumberA - NumberB;
            return result;
        }
    }
    //乘法
    class cheng : operation {
        public override double getresult()
        {
            double result = 0;
            result = NumberA * NumberB;
            return result;
        }

    }
    class chu : operation {
        public override double getresult()
        {
            double result = 0;
            if (NumberB == 0) {
                Console.WriteLine("被除数不能为0");
            }
            result = NumberA / NumberB;
            return result;
        }
    }

客户端代码

  //简单工厂模式
            operation oper;
            oper = yunsuan.create("/");
            oper.NumberA = 10;
            oper.NumberB = 10;
            double result = oper.getresult();
            Console.WriteLine(result);
            Console.ReadKey();
时间: 2025-02-01 04:52:50

c#中简单工厂模式的相关文章

PHP中“简单工厂模式”实例讲解

原创文章,转载请注明出处:http://www.cnblogs.com/hongfei/archive/2012/07/07/2580776.html 简单工厂模式:①抽象基类:类中定义抽象一些方法,用以在子类中实现②继承自抽象基类的子类:实现基类中的抽象方法③工厂类:用以实例化对象 看完文章再回头来看下这张图,效果会比较好 1 采用封装方式 2 3 <?php 4 class Calc{ 5 /** 6 * 计算结果 7 * 8 * @param int|float $num1 9 * @pa

胡博君解Java中简单工厂模式

为什么要用简单工厂模式: 我们都知道程序是分开的,客户端中有程序,服务器端有程序,一般来说我们写的main方法中的程序都是在客户端电脑中的,按照我们学习的时候喜欢的写法: //一般来说这个程序都是在客户电脑中,俗称调用者 public  class  Text{ public static void main(String[] args) { Person  p  =  new  Person(); p.getInfo(); } } //一般这个程序都在服务器中,俗称被调用者,而且是可以修改的

01.设计模式_简单工厂模式

转载自  http://www.cnblogs.com/zhili/p/SimpleFactory.html 一.引言 这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理解的模式--简单工厂模式. 二.简单工厂模式的介绍 说到简单工厂,自然的第一个疑问当然就是什么是简单工厂模式了? 在现实生活中工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们也可以理解为负责生产对象的一个类, 我们平常编程

C#设计模式(2)——简单工厂模式

一.引言 这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理解的模式——简单工厂模式. 二.简单工厂模式的介绍 说到简单工厂,自然的第一个疑问当然就是什么是简单工厂模式了? 在现实生活中工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们也可以理解为负责生产对象的一个类, 我们平常编程中,当使用”new”关键字创建一个对象时,此时该类就依赖与这个对象,也就是他们之间的耦合度高,当需求变化时,我

简单工厂模式与工厂方法模式详细解读

转:http://blog.csdn.net/zhengzhb/article/details/7348707 ———————————————————————————————————— 1.前言 设计模式,各具特色,今天在此总结一下常见模式中 简单工厂模式与工厂方法模式的区别与联系 2.两种模式概要 1. 简单工厂模式  对于简单工厂模式的介绍,请参考我的另外一篇博客  代码无错就是优?----简单工厂模式 2. 工厂方法模式 工厂方法模式又称工厂模式,也叫虚拟构造器模式属于类的创建型模式 在工

C#设计模式(2)-简单工厂模式

引言 上一遍中介绍了设计模式中的单例模式-C#设计模式(1)-单例模式,本篇将介绍简单工厂模式,也是比较容易理解的一种模式:本文将以多数据库操作为例进行讲解: 简单工厂模式简介 什么是简单工厂模式? 定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类.因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法模式,它属于创建型模式. 在现实生活中工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们也可以理解为负责

(1)简单工厂模式

一.引言 这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理解的模式--简单工厂模式. 二.简单工厂模式的介绍 说到简单工厂,自然的第一个疑问当然就是什么是简单工厂模式了? 在现实生活中工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们也可以理解为负责生产对象的一个类, 我们平常编程中,当使用"new"关键字创建一个对象时,此时该类就依赖与这个对象,也就是他们之间的耦合度高,当需求

【3】简单工厂模式

一.简单工厂模式的介绍 说到简单工厂,自然的第一个疑问当然就是什么是简单工厂模式了? 在现实生活中工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们也可以理解为负责生产对象的一个类.我们平常编程中,当使用"new"关键字创建一个对象时,此时该类就依赖与这个对象,也就是他们之间的耦合度高.当需求变化时,我们就不得不去修改此类的源码,此时我们可以运用面向对象(OO)的很重要的原则去解决这一的问题,该原则就是--封装改变.既然要封装改变,自然也就要找到改变的代码,然后把改变的代码用类来

设计模式在cocos2d-x中的使用--简单工厂模式(Simple Factory)

什么是简单工厂模式? 从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 简单工厂模式在cocos2d-x中怎么用,我们通过下面的小例子来了解一下. 假如我们在开发一款类似魔兽的RPG游戏,在游戏中会出现很多种族的角色,如:人族.兽族. 这些种族一般都会定义为一个类,如果兽族Orc类,人族Human类. 兽族.人族两个类都同样属于种族,那么我们可以