《设计模式解析》摘录(10)

    开闭原则:模块、方法和类应该对扩展开放,对修改封闭。也就是说,应该将软件设计得不对其修改就能扩展功能。 开闭原则本质上意味着将软件设计成为新功能能够作为单独的模块加入系统,这样就尽量降低了集成成本。

    完全遵守开闭原则几乎是不可能的,但是它可以作为一个目标,指引正确的方向。代码越遵守这一原则,以后适应新(而且可能是无法预测的)需求就越轻松。

    依赖倒置原则:

    1、高层模块不应该依赖于底层模块,高层模块和底层模块都应该依赖抽象;

    2、抽象不应该依赖于细节,细节应该依赖于抽象;

    这一原则隐含着使用对象和被使用对象之间只能再概念层次存在耦合,而非实现层次。

    CVA(Commonality and Variability Analysis)方式:

    1、先寻找共性;

    2、从这些共性创造抽象;

    3、从共性的变化寻找派生;

    4、看共性之间的关系如何。

    CVA 与从背景设计是相辅相成的。CVA 强调尽早关注抽象,这样更可能找到最有用的抽象,设计模式关注这些抽象之间的关系,但是对找出最重要的抽象帮助不大。从另一方面来说,设计模式可以使我们利用来自过去成功设计的真知灼见,而 CVA 做不到这一点。

    CVA 是另一种形式的从背景设计。类的接口是再其他抽象如何使用这些类的背景中定义的。两者方法中的类定义是类似的,因为 CVA 只是另外一个寻找变化,并用高内聚、松耦合的类封装(设计模式的基础原则)的方式。所以相同的原则和方法会得到非常类似的解决方案。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值