用的最多。
1.主程序/子程序
单线程控制,把问题拆分成若干个处理步骤,构件即为主程序和子程序,子程序通常可合成模块。过程调用作为交互机制,即充当连接件的角色。调用关系具有层次性,其语义逻辑表现为主程序的正确性取决于它调用的子程序的重要性。
2.面向对象
显式调用。构件是对象,对象是抽象数据类型的实例。在抽象数据类型中,数据的表示及其相应的操作都被封装起来,对象的行为体现在其接受和请求的动作。连接件即是对象间交互的方式,对象是通过函数和过程的调用来交互的。
3.层次结构
构件组织成一个层次结构,连接件通过决定层间如何交互的协议来定义。每层为上一层提供服务,使用下一层的服务,只能见到与自己邻接的层。通过层次结构,可以将大问题拆分成若干个渐进的小问题逐步解决,可以隐藏问题的复杂度,减低层次间的耦合,问题相对可控。修改某一层,最多影响其相邻的两层(通常只影响上层)。
缺陷:1.层次一多,效率降低