zoukankan      html  css  js  c++  java
  • 大话设计之简单工厂模式

            C#语言结束了,但是面向对象的思想依旧陪伴着我们,封装,多态,继承,还是需要一步步去消化。

         这次是关于设计模式中简单工厂模式的内容。设计模式是一套反复使用、多数人知晓的、经过分类编目的。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。毫无疑问,设计模式于己于他人都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

         简单工厂设计模式:从设计类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

         下面是一段代码,工厂类:

     class OperationFactory
        {
            public static Operation createOperate(string operate)
            {
                Operation oper = null;
                switch (operate)
                {
                    case "+":
                        {
                            oper = new OperationAdd();
                            break;
                        }
                    case "-":
                        {
                            oper = new OperationSub();
                            break;
                        }
                    case "*":
                        {
                            oper = new OperationMul();
                            break;
                        }
                    case "/":
                        {
                            oper = new OperationDiv();
                            break;
                        }
                    case "sqr":
                        {
                            oper = new OperationSqr();
                            break;
                        }
                    case "sqrt":
                        {
                            oper = new OperationSqrt();
                            break;
                        }
                    case "+/-":
                        {
                            oper = new OperationReverse();
                            break;
                        }
                }
    
                return oper;
            }
        }

           上面一段代码是关于计算机的,把代码分为三类,一是代码功能抽象类,二是工厂类,三是客户端。上面的一段代码是关于工厂类的一段代码,实现实例化的功能。

           编程是一门技术更加是一门艺术。不能只满足于代码的实现,更要使得代码更加简练,更加容易维护,容易扩展和复用。

  • 相关阅读:
    POJ 3713 Transferring Sylla【Tarjan求割点】
    Tarjan算法【强连通分量】
    POJ 1273 Drainage Ditches【最大流模版】
    CDOJ 1960 构造哈密顿路径
    HDU 1384 Intervals【差分约束-SPFA】
    POJ 1364 / HDU 3666 【差分约束-SPFA】
    【SPFA与Dijkstra的对比】CDOJ 1961 咸鱼睡觉觉【差分约束-负权最短路径SPFA】
    CDOJ 1965 连通域统计【DFS】
    CDOJ 1964 命运石之门【最短路径Dijkstra/BFS】
    最小生成树模板【kruskal & prim】
  • 原文地址:https://www.cnblogs.com/xzpblog/p/5117998.html
Copyright © 2011-2022 走看看