代码重构能力是架构师最基本的能力(第 3 周学习总结)
1. 什么是设计模式?
* 模式:每一种模式都描述了一种问题的通用解决方案。这种问题在我们的环境中不停的出现
* 设计模式是一种可重复使用的解决方案
2. 一个设计模式的四个部分:
模式的名称
待解决的问题:何时运用这种模式,以及运用模式的环境
解决方案:描述了组成设计的元素、关系、职责及合作。
结论:运用这种方案所带来的利和弊。对系统的弹性、扩展性和可移植性的影响。
3. 设计模式分类
按功能分类:
结构性:对类的实例化过程的抽象
创建型:将类或者对象结合在一起形成更大的结构
行为型:对不同对象之间划分责任和算法的抽象化
按方式分类:
类模式:以继承的方式实现模式,静态的
对象模式:以组合的方式实现模式,动态的。
4. JUnit中的设计模式
创建测试类,从TestCase派生
1. 初始化:覆盖基类的方法:protected void setUp()
2. 清除环境:覆盖基类的方法:protected void tearDown()
3. 书写测试方法:public void testXyz()
用到的设计模式:模板方法模式、策略模式
它是通过“继承”的方法来实现扩展
5. 组合模式
是一种“对象的结构模式”(树形结构)
--> 不是用递归实现的
测试排序程序的性能:
冒泡排序和插入排序,谁更快?
* 这种测试必须重复多次(如10000次)才能比较准确的计算出性能
* 如何让BubbleSorterTests和InsertionSorterTests重复运行多次,而不需要修改它们的代码?
* 如何计算时间?
6. 装饰器模式:
装饰器模式也被笼统地称为“包装器”(Wrapper),在不改变接口的前提下,扩展现有对象的功能。
单例模式:singleton,用map来保存单例对象
版权声明: 本文为 InfoQ 作者【李德政】的原创文章。
原文链接:【http://xie.infoq.cn/article/610029e86e47fb623dcca5352】。文章转载请联系作者。
评论