《软件设计精要与模式》读书笔记(三)

第三章 体验重构

     个人强烈推荐《重构--改善既有代码的设计》(不过建议有2年以上的开发人员看,太早看是浪费时间)。

     

     本章,作者用来一个阶乘容器的设计来说明重构。

3.1 一个阶乘容器

     通常,作为一个初学者,我们的代码最初会设计如下:

Code

 

3.2 代码的坏味道

     上面的代码计算阶乘的算法与元素的添加行为紧密的纠缠在一起。根据职责分离原则,需要进行分离。

 

Code

 

3.3 需求发生变化

     后来我们的需求发生变化,需要增加菲波那契数列的计算。

     经过重构:

 

Code

 

 

Code

     呵呵,上面是Template Method 模式。

 

3.5引入设计模式

     使用工厂模式来管理实例的创建。

 

Code

 

     通过工厂对象,通过它来创建需要的具体容器类对象了。

 

Code

 

 

posted on 2008-08-09 16:26  心不蒙尘  阅读(256)  评论(0编辑  收藏  举报