从项目始末谈面向对象——领域分析、需求分析、分析模型、设计、实现

                                   从项目始末谈面向对象——领域分析、需求分析、分析模型、设计、实现

  经过了六年的工作经验,有必要从实战的角度来谈面向对象设计。

  因为经验派跟学院派的总结或多或少有些不同,也只有经历过,才知道血汗之辛苦。

 “没经历过炮火的摧残,是不会知道战略、战术的实施智慧”。

  以前从课本上、培训教材上看到的,一实际实践起来还是有很多的艰辛要体验。


  毕竟没有实践经验的,多多少少有点纸上谈兵的毛病,对实际情况做了很多理想化的假设。

  一个实际的项目往往受到三角制约:时间、工作量、进度。                             

  因此,很多设计实际上必须经历权衡,而不是想当然的完美设计,

  而且在实际上的设计由于系统本身的约束关系, 也必须在某些特性之间做权衡。

  

   因此在设计过程中有时为了防止过度设计,可能会遵从一些简单的原则,这些原则可能要根据个人的品味去领悟了。

   其实,我也领悟不是很深。

   原则:

   1)一致性:正交性(不要将独立的东西耦合起来)、妥适性(不要引入无形的东西)、普遍性(不要限制固有的东西)。

   2)简单(KISS):简化你的设计,不过从实际的工作经验来看要简化你的设计其实是很难的,需要你多层次的思考,才能达到简化。

          也可以说简单是经历过后的境界,随便的简单,其实就是一种粗暴的行为。

   3)三思而后行:想清楚你要做什么,避免返工,劳心劳力。

   4)尽快建立原型:可以工作的程序,胜过完备的文档。

  以下附上UNIX的设计哲学,觉得UNIX设计哲学从实践的角度来看,更有指导意义。

  上面的一致性和简单性有时是有矛盾的,需要牺牲一方成就另一方。

   这里引“简单之美——系统设计黄金法则”,对比学院派和实践派方法的不同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值