中国的有四大发明:火药、造纸、指南针 、活字印刷。这个地方活字印刷技术促进了人类文化的传播。我们不谈这些。这给我们将设计模式有啥关系?第一,如果我们在排版字中有一个地方错误,我们可以直接将错误的地方进行替换。这个体现了可维护性;第二,我们排版字印刷完成后,我们可以把这些单个的保存好,以便下次的时候可以用,这个体现了可复用性;第三,活字印刷进行排版的时候,我们可以横着 或者竖着,这个体现了灵活性。活字印刷真不愧为四大发明之一。

为什么我们的代码中要引入面向对象的思维和设计模式。我们引入面向对象的封装、继承、多态可以使我们我们的程序降低耦合度(一般我们在设计代码的时候,尽量考虑高内聚、低耦合)。引进设计模式可以是我们的代码变更灵活。不会因客户的需求变化,而改动量很大。

好了,步入主题。什么是简单工厂模式?举个例子:我们的小卖部。我们需要买花生、瓜子、饮料,直接到小卖部就可以了;我们需要什么说出我们需求,而小卖部就给我们什么。至少这个花生、瓜子、饮料 它们又是个单独的类了;这个就是我们的简单工程模式。如果说我们增加需求买玩具,那么小卖部进货玩具;我们就直接到小卖部就可以买到。这就是我们的简单工厂模式。实际在代码中如何应用呢?我们以我们的运算加、减、乗、除为例:

运算类只是个抽象类,用于其他具体的类进行继承使用;我们的具体类(加法类、减法类、乘法类、除法类)当中的GetResult方法实现对应的操作。简单的工程类的CreateOperation方法实际上就是根据我们客户端的需要创建对应的具体类;例如:我传入“+”符合,那么就创建一个加法类的实际对象实例并返回给客户端;当我们需要增加新的具体类(如开根号算法),我们只需要继承抽象类(运算类)并在具体的GetResult方法中,去实现具体的方法就可以了;我们不需要改动原来的代码。呵呵,不知不觉我们用到了设计原则,开放封闭原则(对扩展开发,对修改关闭)。您们看,我们的即使从PC客户端,移动到  PDA 运算本身不会变化,只是界面需要重新开发就可以了,更体现了我们代码的复用性。

活字印刷引入简单工厂模式相关推荐

  1. 《JAVA与模式》之简单工厂模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...

  2. 设计模式-简单工厂模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的: 简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工 ...

  3. JavaScript设计模式--简单工厂模式例子---XHR工厂

    JavaScript设计模式--简单工厂模式例子---XHR工厂 第一步,Ajax操作接口(目的是起一个接口检测作用) (1)引入接口文件 //定义一个静态方法来实现接口与实现类的直接检验 //静态方 ...

  4. 工厂三兄弟之简单工厂模式(二)

    2 简单工厂模式概述 简单工厂模式并不属于GoF 23个经典设计模式,但通常将它作为学习其他工厂模式的基础,它的设计思想很简单,其基本流程如下: 首先将需要创建的各种不同对象(例如各种不同的Chart ...

  5. 简单工厂模式与工厂方法模式

    在OO设计领域,我们知道前人总结了不少的经验,许多的经验在现代软件工程过程中已经被认为是原则来遵守.下面笔者摘抄几项下文涉及到的OO原则的定义. OCP(开闭原则,Open-Closed Princi ...

  6. Java:继承之super关键字,继承之私有权限,继承之方法重写,继承之object类,继承之简单工厂模式

    一.继承的概念及用法       继承背后的思想就是        基于已存在的类来构建新类         当从已存在类继承时,就重用了它的方法和属性,还可以添加新的方法和属性来定制新类以应对需求 ...

  7. 手撕设计模式之「简单工厂模式」(Java描述)

    前言 利用简单工厂模式可以实现对象创建和业务逻辑处理的分离,但存在工厂类职责过重,增添新产品违背开闭原则等问题.它不属于GoF 23种设计模式之一,但是它可以作为学习工厂方法模式前的一个很好的引导. ...

  8. Java设计模式-工厂模式(1)简单工厂模式

    Java设计模式-工厂模式(1)简单工厂模式 一.前言 1)例子 2)类图关系 3)代码实现 二.简单工厂模式 2.1.概述: 2.2.类图关系: 2.3.代码修改: 2.4.优缺点 2.5.扩展-简 ...

  9. 设计模式 简单工厂模式

    简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂 ...

最新文章

  1. Integer 和 int的种种比较
  2. 2022.3.14矮牵牛
  3. 2015 Multi-University Training Contest 9
  4. GPT v.s. 中国象棋:写过文章解过题,要不再来下盘棋?
  5. 数学奥赛用不用计算机,报考自招必看!五大学科竞赛利弊详解,到底哪科最适合你?...
  6. 实现后台高级查询(基础版)
  7. 如何用java更改网页图片,java如何修改文档第一页为不同的页面
  8. Quartus17打开RTL视图
  9. Delphi 7序列号过期的解决方法
  10. unix下matlab安装
  11. 频谱分析仪查看时域波形
  12. ie11兼容性视图设置_ie11浏览器不兼容的解决办法
  13. Ubuntu 16.04 安装破解版 matlab 2017b
  14. 中石油邮箱pop3服务器,手机客户端访问中油邮箱设置
  15. 苏州企业如何免费办理软件著作权
  16. wifi连接上不能上网怎么办服务器无响应,连接WIFI却不能上网的解决办法
  17. 用python实现模拟轮盘抽奖游戏
  18. 编译出的CHM文档读取页面发生脚本错误
  19. 文件快速定位神器(C++小项目实战)
  20. 获取Android_Studio模拟器root权限的方法

热门文章

  1. Qt 设置Widget背景图片并实现透明度的三种方式
  2. 2辊张力辊张力计算公式
  3. 通过Spark Streaming的window操作实战模拟热点搜索词案例实战
  4. java打桩_使用JUnit4与JMockit进行打桩测试
  5. Unity Joystick手势操作
  6. 当效益不好的时候为什么公司选择裁员,而不是降薪
  7. Zend引擎探索 之 PHP中前置递增不返回左值
  8. 小米、阿里巴巴、国美、新鸿基、花旗、力拓等公司高管变动
  9. 学术-物理:莫比乌斯带
  10. html怎么加深字体颜色,我打印网页的字的颜色非常浅,怎样才能加深? – 手机爱问...