首页 > 代码库 > 活字印刷引入简单工厂模式

活字印刷引入简单工厂模式

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

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

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


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

活字印刷引入简单工厂模式