老菜的园子

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

UML和模式应用》中描述了GRASP设计原则,是面向对象设计方法,强调职责的分配。《敏捷软件开发》则提供了另外一套设计原则,强调通过扩展应对变化。本文将学习的理解进行总结。

 

软件设计中要解决两个主要问题是:职责划分、和隔离变化。

 

1. 职责划分是定义类的关键。可以指导的原则有:

1) 单一职责原则;

2) 信息专家原则

3) 创建者原则;

4) 控制器原则;

 

2. 隔离变化,软件才能获得良好的可维护性、可扩展性。

受保护变化原则间接性原则纯虚构原则多态原则在较高抽象层次上提供了隔离变化的指导原则。

而下面的指导原则更为贴近软件实现层面:

OCP原则描述了一个结构良好的设计应该达到的效果。实现方式是将直接的依赖关系转换为对抽象的依赖,这就是依赖倒置原则。抽象和实现在设计时要遵循李氏替换原则这是实现依赖倒置原则机制上的保证。

抽象接口是依赖的终止点,在设计时要遵循接口隔离原则

 

3. 最后,高内聚、低耦合原则,是裁决设计取舍的最高指导原则。

 

2012.8.3 by weichsel

posted on 2012-08-03 21:54  weichsel  阅读(308)  评论(0编辑  收藏  举报