Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1603059
  • 博文数量: 585
  • 博客积分: 14610
  • 博客等级: 上将
  • 技术积分: 7402
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-15 10:52
文章存档

2013年(5)

2012年(214)

2011年(56)

2010年(66)

2009年(44)

2008年(200)

分类: 项目管理

2012-04-29 16:14:57

软件架构——设计原则

 

一般一个系统包括架构模式、设计模式、软件框架等。一般一个系统包括架构模式、设计模式、软件框架等。设计模式是在解决问题的过程中,一些良好思路的经验集成,常见的是GoF 23种设计模式。GoF 23种设计模式的一些指导设计原则:

1、“开闭”原则(OCP):一个软件实体应当对扩展开放,对修改关闭。“抽象化”是OCP的关键。

2、里氏代换原则(LSP)在一个软件系统中,子类应该可以替换任何基类能够出现的地方,并且经过替换以后,代码还能正常工作。“继承”是LSP的关键。

3、依赖倒转原则(DIP)要依赖于抽象,不要依赖于具体。或者说是:要针对接口编程,不要对实现编程。“规范抽象”是DIP的关键。

4、接口隔离原则(ISP)使用多个专门的接口比使用单一的总接口要好。也就是说,一个类对另外一个类的依赖性应当是建立在最小的接口上的。“多重继承”是ISP的关键。

5、组合/聚合复用原则(CARP)在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分:新的对象通过向这些对象的委派达到复用已有功能的目的。“组合/聚合”是CARP的关键。

聚合:指的是整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。例如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。
组合:也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。

6、迪米特法则(LoD)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。“传递间接的调用”是LoD的关键。

阅读(1044) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~