何谓重构
对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提交其可理解性,降低其修改成本。
重构的目的是软件更容易理解和修改;重构不会改变软件可观察的行为。
两顶帽子比喻
添加新功能 不修改既有代码,只管添加新功能,并通过测试重构 不添加功能,只管改进程序结构
为何重构
重构改进软件设计
改进的重要方向就是消除重复代码。...
分类:
其他好文 时间:
2014-06-07 01:59:57
阅读次数:
243
一、过滤器的作用
在MVC项目当中,当我们要实现这些功能时:身份验证,异常处理、日志记录,性能统计,如果按照一般的做法那就需要在每个页面重复做这些工作,这样做起来不仅费时费力,代码也会变得冗余难懂,如何在不改变原有代码结构添加这些功能呢?AOP就是为了解决这一类问题而产生的。AOP,意为:面向切面....
分类:
Web程序 时间:
2014-05-30 00:55:45
阅读次数:
321
模板方法模式Template Method
Pattern定义一个操作的算法的框架,是的子类可以不改变算法结构即可重定义该算法一些特定步骤public abstract class
AbstractClass{//抽象模板类protected abstract void method1();//算法...
分类:
其他好文 时间:
2014-05-29 00:11:54
阅读次数:
309
无聊写了个单链表排序,不是很难。但是插入写起来很麻烦,都没有,本文全部是将链表中节点值互换,不改变结构,所以很容易写出来 #includeusing
namespace std;struct node{ int n; struct node* next;};//创建链表void swap(int
&...
分类:
其他好文 时间:
2014-05-26 14:52:14
阅读次数:
227
出题:给定一个乱序链表,节点值为ASCII字符,但是其中有重复项,要求去除重复项并保证不改变剩余项的原有顺序;分析:创建一个256(2^8)大小的bool数组,初始化为false,顺序读取链表,将字母对应位置为false的重新标记为true并保留节点,将字母对
应位置为true的保持并删除节点;时间...
分类:
其他好文 时间:
2014-05-26 10:19:49
阅读次数:
209
访问者模式定义:表示一个作用于某对象结构中的各个元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。
从定义上看,这个模式跟装饰模式的定义很相似(动态地给一个对象添加一些额外的职责),但是装饰模式更多是在原有的基础上进行功能加强或者修改;而访问者模式更多是为对象添加全新的功能。
这个模式中用到了二次分发技术,跟tcp协议的三次握手有些类似,首先请求拿到对方的控制权,对方进行接受,然后开始使用控制权
访问者模式本质:预留通路,回调实现
优点:扩展性好,复用性好,分离无关行为
缺点:对象结...
分类:
其他好文 时间:
2014-05-24 22:07:00
阅读次数:
227
继续设计模式~ 模版方法模式
老套路,先看下定义:定义了一个算法的骨架,而将一些步骤延迟到子类中,模版方法使得子类可以在不改变算法结构的情况下,重新定义算法的步骤。
简单看下定义,模版方法定义了一个算法的步骤,并且允许子类为一个或多个步骤提供实现。定义还算清晰,下面来个例子展示下本公司的上班情况(纯属娱乐,如有雷同,请对号入座)。简单描述一下:本公司有程序猿、测试、HR、项目经理等人,下面使用...
分类:
其他好文 时间:
2014-05-22 12:15:55
阅读次数:
262
AOP
有点类似于我们MVC里面的Filter过滤器,例如在MVC里面,如果给一个Action上打一个标签,就可以在这个Action执行之前或者之后,额外的执行一个方法,这个就相当于是面向切面编程.
无侵入式的. (也就是在不改变原来的代码的情况下,来跳转到一个其他的方法,执行完毕后回到主方法..)...
分类:
编程语言 时间:
2014-05-21 22:45:38
阅读次数:
323
访问者模式使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作。
分离一个类结构中不变的部分和常变的操作。
分类:
编程语言 时间:
2014-05-21 05:51:40
阅读次数:
428
装饰模式,是在不改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。是为已有功能动态添加更多功能的一种方式。当系统需要新功能的时候,把每个要装饰的功能放在单独的类中,并让这个类包装它所装饰的对象,因此,当需要执行特殊行为时,客户代码就可以在运行时根据需要有选择的、按顺序地使用装饰功能包装对象。
装饰模式适用的场景:
需...
分类:
其他好文 时间:
2014-05-20 15:06:32
阅读次数:
228