大话设计模式--第一章 简单工厂设计模式

简单工厂设计模式

案例: 写一个计算器, 实现加减乘除.

第一步: 写一份简单的代码

package com.chapter1;

public class Caculator1 {
    public static void main(String[] args) {
        if(args.length < 3){
            System.out.println("参数个数异常");
            return ;
        }
        Double num1 = Double.parseDouble(args[0]);
        Double num2 = Double.parseDouble(args[1]);
        String operator = args[2];
        Double total = 0d;
        switch(operator){
        case "+":
            total = num1 + num2;
            break;
        case "-":
            total = num1 - num2;
            break;
        case "*":
            total = num1 * num2;
            break;
        case "/":
            if("0".equals(num2) || num2 == 0){
                System.out.println("除数不能是0");
                return ;
            }
            total = num1 / num2;
            break;
        }
        System.out.println(total);
    }
}

这样做, 确实实现了简单的计算功能. 但是, 从面相对象的角度来考虑呢?

可维护性如何? 可扩展性如何? 可复用性如何?灵活性如何?

原文地址:https://www.cnblogs.com/ITPower/p/8992212.html

时间: 2024-08-29 04:38:18

大话设计模式--第一章 简单工厂设计模式的相关文章

大话设计模式-第一章-简单工厂模式

一.UML图 二.包含的角色 简单工厂模式包含三个角色:(1)工厂类Factory(2)抽象产品类AbstractProduct(3)具体产品类ConcreteProduct. (1)Factory:工厂类是用来制造产品的.因此,在Factory中有一个用于制造产品的Create函数或者Generate函数之类的函数.这个函数能够根据"标识符"的不同生成不同的ConcreteProduct,当然这些ConcreteProduct都是继承自AbstractProduct的. (2)Abs

大话设计模式第一章-简单工厂模式

1 简单工厂模式--uml   继承关系--空心三角形--实线 实线接口 空心三角形--实虚线 聚合关系  空心菱形---实线箭头    雁群和大雁 组合关系-  实心菱形---实线箭头   鸟和翅膀 依赖关系-虚线箭头  如动物需要氧气和水  d 简单工厂模式demo--本地demo 库 原文地址:https://www.cnblogs.com/spps/p/9942846.html

第一章 简单工厂模式

面向对象编程永远在考虑:解藕和复用. 设计模式是前辈总结的结果,这些模式都是基于问题本身的抽象,活学活用才是王道. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 简单工厂模式具有面向对象编程的基本优点:封装.继承和多态. /** * Created by hero

iOS常用设计模式——简单工厂设计模式

简单工厂设计模式详解 简单工厂设计模式详解 基本概念 结构图 经典的示例 示例代码 优点 缺点 使用条件 基本概念 "专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父类." 世界上就是由一个工厂类,根据传入的参数,动态地决定创建出哪一个产品类的实例. 结构图 ConcreteProduct1和ConcreteProduct2两个产品具有一个共同的父类IProject,简单工厂类为SimpleFactory,负责根据传入的不同参数来决定生产ConcreteProduct

接口和简单工厂设计模式

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 接口: 接口就是纯抽象类的演变,实现接口的类都必须实现接口的的方法.接口里全部都是方法的声明,没有方法的实现. 接口里的方法都是public修饰的,就算不写public关键字,也是默认public的,里面的申请的属性 全部都是public 静态常量,接口里没有构造器,静态块和实例块. 例如: 在c这种面向对象的编程语言中也有抽象类,但是要求的不严格,c要求的

大话设计模式第一章之简单工厂模式

package com.dp.simpleFactory; //计算器作为抽象类 定义一个计算需要什么 子类继承了两个数字 并且要有自己的计算实现方法 public abstract class Calculator { protected double numberA=0; protected double numberB=0; public double getNumberA() { return numberA; } public void setNumberA(double number

[大话设计模式]学习笔记——简单工厂模式

序 说好的每天进步一点点的,结果工作太忙,一直在加班,都没有学习新东西.我还要进BAT呢. 坚持每天学习新东西. 写代码时,意识到在代码结构上还是有点欠缺.赶紧补上. 纪录对设计模式的认识.小菜变大鸟.进攻BAT. 应用场景: 编写一个计算器控制台程序,要求输入两个数和运算符号,得到结果. 这本书使用C#写的.已有博主用JAVA写出来,参考:http://blog.csdn.net/ghsau/article/details/8163418 常见的做法: 写一个方法封装计算机的功能,我们只需传参

C#设计模式系列:简单工厂模式(Simple Factory)

1.简单工厂模式简介 1.1>.定义 简单工厂模式定义一个Factory类,可以根据参数的不同返回不同类的实例,被创建的实例通常有共同的父类. 简单工厂模式只需要一个Factory类. 简单工厂模式又称为静态工厂模式,Factory类为静态类或包含静态方法. 1.2>.使用频率  中 2.简单工厂模式结构 2.1>.结构图 2.2>.参与者 简单工厂模式参与者: ◊ Product:抽象产品类,将具体产品类公共的代码进行抽象和提取后封装在一个抽象产品类中. ◊ ConcretePr

简单工厂设计模式

说起设计模式,不得不从最简单的简单工厂设计模式开始说起. 简单工厂模式:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常具有共同的父类.因为简单工厂模式中用于创建的方法是静态的,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,属于类创建型模式. 首先我们先看看下面这个类图: 在这个类图中,我们可以发现,静态工厂一共有三个对象是不可缺少的 1公共父类(Fruit接口) 2具体的产品类(Apple, Banana) 3静态工厂类(Simp