【大话设计】初涉之简单工厂模式

来源:互联网 发布:linux cat 生成文件 编辑:程序博客网 时间:2024/05/22 12:14

       对大话设计这本书其实一直都抱着一种既好奇有恐惧的心理。所以可能中间会有很长时间的拖沓。终于现在开始正儿八经的学习它了。以前把书看了一遍,我发现自己还是喜欢看那些小菜和大鸟的文字性部分的叙述,我比较喜欢看这些模式的中文解释,再加上书上那些很多联系我们实际生活中的一些生动的讲解,这些让我对这些模式有一个初步的了解。。现在我来说说我对面向对象和第一章简单工厂模式的一个初步了解。。。。

       【面向对象】以前总是在听面向对象,面向对象。。。里边无非就是包括什么类、对象、封装、继承、多态之类的概念,也明白这些含义的通俗理解,但是从来没有真正的从代码中了解其中的深意。首先我来说一下面向对象中这些概念都是为了什么。。主要的一个目的当然就是让我们的程序更加完美,怎么完美呢。第一、当我们的程序出现问题的时候,或者是用户提出修改要求的时候,要能够及时,迅速的做出修改,能够让客户满意。第二、当我们有一些重复性的工作时能够很好的将我们已经写过的代码复用。不用重复写大量的相同的代码,当然,这里的复用不能简单的理解为Ctrl+c。。就像书中所说的一样,只有初级程序员的工作才是连续不断的Ctrl+c 和Ctrl+v..然而这又是非常不美丽的事情,当代码中出现一定量的重复代码是,对于我们上边说的维护便又是一场灾难。。。第三、当我们的用户提出一些另外的扩展的要求的时候,我们不用改动大量的代码能够很轻松的将扩展功能实现而不影响其他的功能。总结来说,面向对象技术其实就是为了这几个方面:1、可维护  2、可复用   3、可扩展   4、灵活性好。

        【简单工厂模式】所谓的简单工厂模式在书中大鸟给小菜循序渐进的讲了一系列的道理,慢慢引导着小菜将加减乘除分别写成了运算类的子类。这样可以做到当我们更改或者增加运算的时候不影响到别的运算类。但是这样怎么让计算机去了解到我们想要实例化那个类呢。。怎样让计算机知道我们要使用哪个算法呢。。。这时,简单工厂模式就华丽丽的出现了。也就是将判断到底用哪个运算这个过程单独写成一个类,这个类判断完我们需要运算哪个,就直接去实例化前边我们写过的那些运算子类。。。这让我觉得所谓的简单工厂模式其实就是相当于一个生产各种产品的工厂中的一个决策部门。当工厂中有许多生产各种产品的小作坊的时候,就会显得比较乱,到底这个时间要生产哪种产品呢。那就要听“上边”的安排了,“上边”让生产哪个就生产哪个。。这里的“上边”就是值得是我们的决策部门,也就是我们的简单工厂。。这里专门为大工厂决策生产哪种商品并且给相应的部门发出通知。。。而这个部门独立于所有生产部门类,不去参与生产活动。。只是决策。

         【结构图】

     

    

                【总结】简单工厂模式应该是所有模式中都会用到的一部分。是最基础的思想。后边的有待总结。加油。

0 0
原创粉丝点击