面向对象设计原则

  Robert C. Martin著作的《Agile Software Development: Principle, Pattern, and Practices,敏捷软件开发:原则、模式与实践》中描述了软件设计中的臭味和面向对象设计原则,本博文系列仅是阅读笔记,也使更多的同学能够更加深入的理解面向对象设计的几个原则。

拙劣设计的症状

  • 僵化性(Rigidity):设计难以改变。
  • 脆弱性(Fragility):设计易于遭到破坏。
  • 牢固性(Immobility):设计难以重用。
  • 粘滞性(Viscosity):粘滞性有两种表现形式:软件的粘滞性和环境的粘滞性。软件面临改动时,其中一些方法会保持设计,另一些会破坏设计(即生硬的手法)。当那些可以保持系统设计的方法比那些生硬手法更难应用时,就表明设计具有高的粘滞性。当开发环境迟钝、低效时,就会产生环境粘滞性。
  • 不必要的复杂性(Needless Complexity):过度设计。
  • 不必要的重复(Needless Repetition):当系统中有重复的代码时,对系统进行改动会变得困难。
  • 晦涩性(Opacity):混乱的表达,模块难以理解。

面向对象设计原则

  这些原则是数十年软件工程经验来之不易的成果,是许许多多软件开发人员和研究人员思想和著作的结晶。但仅仅因为是原则就无条件的去遵循的做法是错误的,这些原则不是可以随意在系统中到处喷洒的香水,过度遵循这些原则会导致不必要的复杂性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值