首页 > 代码库 > PairWork-电梯调度程序结对编程

PairWork-电梯调度程序结对编程

1 结对编程

  1.1 结对编程的优缺点

  1.2 结对伙伴的优缺点

2 Information Hiding, interface design, loose coupling

  2.1 Information Hiding

  2.2 interface design

  2.3 loose coupling

  在过去常用的程序架构中,多数应用程序之间直接相互通信。当应用程序需要修改或淘汰时,这种依赖便成为一个实际问题。任何修改都可能会按其自身的方式更新每条唯一的通信线路。因此,这种变更可能代价高昂。这种情况被称为应用程序间的紧耦合,也逐渐成为让一些企业头疼的问题。

  另一方面,SOA(面向服务的体系结构) 将松耦合作为成功的企业级应用程序集成的一个主要原则。与紧耦合相反,松耦合是:

  限制请求者应用程序代码和提供者应用程序代码的相互了解。如果耦合的服务任何方面有所变化,那么,请求者或提供者的应用程序代码(更可能是两者同时)必须改变。如果任何一方(请求者、提供者或中介基础架构)对解耦的服务任何方面作出改变,那么其它几方不必随之改变。

  松耦合系统通常是基于消息的系统,此时客户端和远程服务并不知道对方是如何实现的。客户端和服务之间的通讯由消息的架构支配。只要消息符合协商的架构,则客户端或服务的实现就可以根据需要进行更改,而不必担心会破坏对方。松耦合通讯机制提供了紧耦合机制所没有的许多优点,并且它们有助于降低客户端和远程服务之间的依赖性。但是,紧耦合性通常可以提供性能好处,便于在客户端和服务之间进行更为紧密的集成(这在存在安全性和事务处理要求时,可能是必需的)。

   对于松耦合,我虽然没有参与过比较大型规范的软件开发,但是在一些个人程序中也感受到了松耦合思想的重要性。

3 Design by Contract, Code Contract

4 Unit test

5 UML图

6 算法详解

PairWork-电梯调度程序结对编程