结构与连接

来源:互联网 发布:中国网络诗歌网 投稿 编辑:程序博客网 时间:2024/06/01 08:37

一个系统一般由很多对象组成,对象之间并不是互相孤立的,而是存在着各种各样的关系。包括:部分/整体、一般/特殊、实例连接、消息连接。

(1)部分/整体

对象之间存在的部分与整体的结构关系。如CPU是PC机的一个部分,PC机由CPU、内存、硬盘、显示器、键盘等组成。

 
部分/整体关系中有两种方式:组合和聚合。
上面PC机就是一个组合的例子,一个部分对象(CPU)只能属于一个唯一的整体对象(PC机)。组合关系中部分和整体的关系很紧密。聚合关系中则比较松散,一个部分对象可以属于几个整体对象。 
 
 
 
(2)一般/特殊    
对象之间存在着一般和特殊的结构关系,也就是说它们存在继承关系。很多时候也称作泛化和特化关系。 
 
 
 
 
 
 
(3)实例连接 
实例连接表现了对象之间的静态联系,它通过对象的属性来表现出对象之间的依赖关系。对象之间的实例连接称作链接,对象类之间的实例连接称作关联 
 
 
 
 
 
 

注:1、整体-部分结构和实例连接的相似点

(1)整体-部分结构和实例连接都描述对象之间的联系,而一般-特殊结构描述的是类与类之间的关系。
(2)整体-部分结构和实例连接都是一种静态联系。不像消息连接,描述的是动态关系。
(3)松散的整体-部分结构和实例连接在实现方式上相同。

 

2、整体-部分结构和实例连接的区别

 

   现实中的语义上的区别
   如果b为a的整体对象,a为b的部分对象,对象a是对象b的一个组成部分。整体-部分结构中的对象在现实世界中含有明显的"has a "语义,这种"has a "语义在现实中主要表现为以下几种形式:
(1)总装和零件,如汽车和发动机、人体和消化器官;
(2)容器和内容物,如教室和桌椅;
(3)小组和成员,如班级和学生;
(4)组织机构与它的下级组织或部门,如公司和子公司、公司与市场部;
(5)抽象事物的整体和部分,如学科与分支学科、法律与法律条款、文章与段落、工程方案与方案细则。
(6)具体事务和他的某个抽象方面,如人员和人员的身份。

 

    实例连接中的对象之间一般没有"has a "语义,即分不出谁是整体、谁是部分。实例连接把一个对象与一个或多个对象联系在一起。对象连接表示“只要你有其中一个对象,你就得到其他许多对象。”实例连接反映了为实现指派工作对象模型中必要的耦合。


    实例连接是由用户和管理问题与各方面的政策决定的,而且在对象模型的其他3个组成部分出现:人机交互,数据管理和系统交互。寻找那些能使信息系统正确运行所需要的类之间的对象连接,可以参照以下实例连接模式:
(1)参与者-交易模式,如学生选读课程,学生交纳学费;
(2)地点-交易模式,如在出纳窗口交纳注册费;
(3)参与者-地点模式,如每个学生属于一个系;
(4)交易-交易行项模式,如订单和订单行项,学生注册费与学生注册费行项;
(5)项-交易行项模式,如产品和订单行项,学费和注册费行项;
(6)伙伴-伙伴模式,如学生和学生之间的室友关系,导航图中城市和城市之间的关系。

 
 
 
 
(4)消息连接 
消息连接表现了对象之间的动态联系,它表现了这样一种联系:一个对象发送消息请求另一个对象的服务,接收消息的对象响应消息,执行相应的服务。 
 
 
 
 
 
原创粉丝点击