今天看了一下《大话设计模式》的第一章:简单工厂模式,文章通俗易懂,介绍了程序如何具备可扩展,可维护,易复用。下面简单回顾一下简单设计模式比最原始的程序设计方式的差异,以说明其优点。
一个计算器可以有各种操作符运算,针对一个操作,建一个操作类,这些类继承一个公共的父类Operation. 这些类覆盖父类的方法getResult(int,int),得到各种操作的运算结果。最后建立一个工厂类,用于根据用户界面输入的操作符生成想要的操作类。最后运算得到结果。
操作接口:
public interface Operation {
public int getResult(int a,int b);
}
操作子类:
public class OperationAdd implements Operation{
@Override
public int getResult(int a, int b) {
return (a + b);
}
}
工厂类:
public class Factory {
public Operation getOperation(char o)
{
Operation op = null;
switch(o)
{
case '+':
op = new OperationAdd();
break;
case '-':
op = new OperationDel();
break;
default:
break;
}
return op;
}
}
调用:
public class UserMain {
/**
* @param args
*/
public static void main(String[] args) {
Operation op = Factory.getOperation('+');
int ret = op.getResult(123, 23);
System.out.println(ret);
}
}
这样,有以下好处:
1.各个操作类互相分离,互不干扰。
2.易扩展:如果要增加操作,只需再建立相应的操作子类
3.易维护:只需修改操作类里的逻辑
4.可复用:讲业务逻辑与操作界面分离,业务逻辑部分可以分离给任何可以用到的程序用。
分享到:
相关推荐
设计模式:简单工厂、方法工厂、抽象工厂、单例、原型、委派、模板、代理、策略
设计模式PHP版:简单工厂模式实例。 以计算器的实现为实例,说明了简单工厂模式的实现方法。
设计模式中工厂相关模式有简单工厂、工厂方法、抽象工厂学习后的练习代码,C++编程语言。
创建型设计模式:简单工厂模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式,单例模式; 结构型设计模式:适配器模式,桥接模式,组合模式,装饰模式,外观模式,轻量级模式,代理模式; 行为性设计模式:...
代码包含中有简单工厂、工厂模式、抽象工厂的代码示例。
单例设计模式、工厂设计模式和抽象工厂模式是常见的软件开发设计模式。这些设计模式提供了一些有用的思想和实现方式,可以帮助开发人员在设计和实现复杂的软件系统时,更加灵活和高效地进行编程。 单例设计模式是一...
设计模式之:工厂模式 设计模式中常用的模式介绍和代码分析实例,简单明了的概述了这些模式
JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
设计模式1:简单工厂设计模式代码,工厂设计模式分析可以参考本人博客http://blog.csdn.net/lvsaixia。
文章地址:https://blog.csdn.net/mazhiyuan1981/article/details/110225903
三种设计模式:简单工厂/工厂方法/抽象工厂,通过一个教研室购买电脑的例子来进行讲述区别和联系,可以参考我的博客进行阅读。谢谢你的指正。
设计模式之简单工厂模式案例
设计模式之简单工厂模式,有文档解说,有代码案例。很适合初学者学习!
设计模式(简单工厂模式_排序)手写的代码,自己写博客用
介绍了三种创建型设计模式:简单工厂模式、工厂方法模式、抽象工厂模式;
Java描述设计模式:简单工厂模式 03 Java描述设计模式:工厂方法模式 04 Java描述设计模式:抽象工厂模式 05 Java描述设计模式:原型模式 06 Java描述设计模式:建造者模式 07 Java描述设计模式:适配器模式 08 Java...
这个是http://blog.csdn.net/dawanganban/article/details/9875873博客中java设计模式的源代码。下载前请先看《设计模式——简单工厂》一文。
这是设计模式中简单工厂设计模式的源代码,工程中以一个计算器的示例来体现简单工厂模式的精髓。简单工厂模式主要解决创建对象的问题。
设计模式 简单工厂模式 简易计算器代码 设计模式 面向对象 计算器 java
java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂