我爱Aspx >> VB.Net >> VB.Net中文教程(2) Composite样式VB.Net中文教程(2) Composite样式
Whole-part关系谈起
回想传统的软件师﹐常甚专注于撰写程序(procedure) 来处理某些资料(data)﹐较少关心软件的整体结构(architecture)。在现在的OO软件中﹐把资料及其相关的程序结合在一起﹐封装(encapsulate) 在对象之中。软件师在使用对象时﹐通常把对象视为黑箱(black-box) ﹐不会关心于对象内部之细节﹔因之能专注于对象之间的关系。软件师的主要工作﹐就是在于建立对象之间的互助合作(collaboration) 关系﹐为对象安排应尽之角色(role)﹐至于对象内部之细节﹐反而不顶重要。如此﹐可让软件师着重于软件的整体架构上﹐而不会一头栽进程序的执行细节之中。这避免了见树不见林的缺点﹐放宽了软件师的眼界﹐为软件的多用途(reusability) 及弹性(flexibility) 着想﹐可创造长寿的软件﹗
对象之间的常见关系有许多种﹐其中之一就是Whole-part关系。像一朵花是由花蕊、花瓣、衬叶等所构成的﹐这朵花是个「整体」(Whole)﹐而花蕊、花瓣等则是这整体的「一部分」(part)。再如﹐下图的Windows画面上﹐Form1 对象包含着3 个控制对象(control) ﹐这些控制对象成为Form1 的一部分。因之﹐Form1 是个整体﹐而各控制对象则是Form1 对象的一部分。
图1 、Form1 对象包含3 个控制对象
我们可使用UML图形表示为﹕
图2、Whole-part关系与继承关系
这图包括了Whole-part关系﹐以及继承关系。
● 菱形 符号表示Whole-part关系﹔就是Form1 对象可包含有数个control 对象。
● 箭头 符号表示继承关系﹔就是control 对象可细分为数个种类。
本文专注于Whole-part关系﹐为Composite样式建立基础。Whole-part关系可分为两种﹕
【我对这篇文章有话说?】
VB.Net中文教程(3) 继承与封装性[05-20]
VB.Net中文教程(4) 类别继承(Inh..[05-20]
VB.Net中文教程(5)程序多重定义[05-20]
VB.Net中文教程(6) 母子对象关系[05-20]
VB.Net中文教程(7) Me参考值[05-20]
VB.Net中文教程(8) 对象(Object)..[05-20]
VB.Net中文教程(9) 重新定义(Ove..[05-20]
VB.Net中文教程(11) Prototype样..[05-20]
VB.Net中文教程(12) 共享成员(Sh..[05-20]
VB.Net中文教程(13) Whole-Part关..[05-20]
VB.Net中文教程(3) 继承与封装性[05-20]
VB.Net中文教程(4) 类别继承(Inh..[05-20]
VB.Net中文教程(5)程序多重定义[05-20]
VB.Net中文教程(6) 母子对象关系[05-20]
VB.Net中文教程(7) Me参考值[05-20]
VB.Net中文教程(8) 对象(Object)..[05-20]
VB.Net中文教程(9) 重新定义(Ove..[05-20]
VB.Net中文教程(11) Prototype样..[05-20]
VB.Net中文教程(12) 共享成员(Sh..[05-20]
VB.Net中文教程(13) Whole-Part关..[05-20]