《Head First 设计模式》之设计原则整理

下面我会把读书过程中接触到的原则性的内容,逐一列在下面,供回顾与共享。

 

1、找出应用中可能需要变化之处,并把它们和不需要变化的代码区分开来

    关于这个原则,有两点需要注意:

    1)如何找出需要变化之处?

        我的答案是,在项目开发过程中,用户需求通常不会一成不变,大多数情况下都会有需求的迭代过程。在需求变更的过程中很容易就发现我们经常需要根据这些需求而改动一部分代码。仔细分析这一部分需求,以及应用/系统的实现,我们就可以找到代码中变化较多的部分。这是从需求方面来理解;

        如果是做产品开发又会怎样呢?看起来产品的开发没有一个明确的用户,需求的变动往往来源于公司的其他部门(市场分析部门);或者干脆需求变更来源于开发部门本身,比如整合产品到公司的平台中去等等。这些情况其实与项目开发的处理类似;经验丰富些的高级程序员往往在接到需求说明书的时候,就能够隐隐把握到其中容易变化的需求。在实现中,采用合适的系统架构和设计模式,往往可以节省大量的后期改动工作量。

 

    2)如何把这两类代码区分开来呢?

 

 

2、针对接口编程,而不是针对实现编程

 

3、为了交互对象之间的松耦合设计而努力

    参考“观察者模式”的思想和实现

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值