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

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

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

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

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

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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值