设计模式精解-第一章-面向对象范式(一)

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

设计模式是个好东西,为什么好呢?目前不清楚,一直想学.没时间.最近买了<设计模式精解>.开始读书.

本书的第一章是介绍面向对象范式.通过和另外一种常见的范式-标准结构化程序设计进行对比,来让读者更好的理解面向对象范式.

我们先来看看标准结构化程序设计范式是如何来解决问题的,也就是如何编程的.如果我们拿到一个任务,为了完成任务,我们很自然的把任务分解,分解到每个部分都很容易完成,然后按步骤完成各个部分,总的任务也就完成了.这本书举了个编程的例子.其实我们处理很多事情都是分解来做的,比如做饭,洗衣服等等.

这种自然而然的解决问题的办法简单实用,但是这个方法的缺点是什么呢?答案是,他不能处理变化. 对于软件开发,一个项目中可以确定的是,需求总是会变化.我们不能逃避变化.而是要找到一种办法来适应变化.许多软件bug来自代码的变化.因此我们需要不断的改进开发过程,以便更好的应付需求的变化.

标准结构化程序设计范式,如何来处理变化呢? 我们可以使用模块化来包容变化.把可能变化的部分封装成一个模块,然后当产生变化的时候,就更改这个模块就可以了.模块化可以让代码清晰,容易理解和维护,但是没有办法应付所有可能出现的变化.另外,模块化还有两个问题,低内聚,高耦合.

内聚度-程序中的操作之间联系紧密的程度.也就是子程序内部成分之间相互联系的程度.

(广告 芙蓉姐姐 芙蓉一出,谁与争锋,千秋万载,一统江湖!)

耦合度-两个子程序之间联系的强度.

耦合度和内聚度是成反比的.强内聚的,也就是内部完整性越高的子程序.和其他子程序之间的联系越小,直接,可见和灵活(松耦合).而这个是我们的目标.

还有一个问题是函数的副作用,改变函数引起一系列问题.而这个的原因是我们设计函数的时候只是关注功能.这个导致一处改动会引起雪球效应.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有