By 高焕堂 2010/10/29
需求分析:如何表达接口(Interface)?
1. 抽象类别与接口(Interface)
如果一个类别,它的某些函数是抽象函数的话,就称之为「抽象函数」(Abstract Class)。如果一个抽象类别,它的所有的函数全部都是抽象函数的话,就称之为「纯粹抽象类别」(Pure Abstract Class);这种类别又称为「接口」(Interface)。例如,下图1里的Counter就是一个抽象类别,它含有一个抽象函数:getN()。
图1、Counter是抽象类别
2. 以Sequence表达抽象类别的互动行为
以上是凸显系统的结构(Structure)层面。现在,以Sequence图表达其执行和互动行为(Behavior)面,如下图:
图2、呈现Counter抽象类别与其它类别的互动
如果Counter类别只含有抽象函数的话,就成为纯粹抽象类别,如下图:
图3、AbstractCounter是纯粹抽象类别
以Sequence图表达AbstarctCounter纯粹抽象类别的执行和互动行为面,如下图:
图4、呈现AbstractCounter纯粹抽象类别的互动行为
3. 以Sequence表达Interface
由于「纯粹抽象类别」就是「接口」,所以上图3就相当于下图5:
图5、AbstractCounter纯粹抽象类别可化身为ICounter接口
这个ICounter接口是定义于小框架里,然后由myCounter来实作(Implement)它。
图6、呈现ICounter接口的互动行为
上图5和图6里,只有一个接口。[歡迎光臨 高煥堂 網頁: http://www.cnblogs.com/myEIT/ ]
请继续看含有较多个接口的情形,如下图:
图7、多个接口的范例
接着,以Sequence图来呈现出小框架与应用程序之间的互动顺序,如下:
图8、以Sequence图来呈现出小框架与应用程序之间的接口行为
上图的ICoubter和IA接口是定义于小框架里,有些其它的接口可能会定义于应用程序里,如下图:
图9、定义于应用程序里的IB接口
此时,可以表达如下:
图10、表达应用程序里的IB接口
4. 结语
在Framework-based的Android平台里,API扮演着关键的角色。所以如何在UML里呈现界面(尤其是API),变得极为重要。希望本文能带给你一个新的体验,让你自由自在的呈现你的创意和设计,不满足以「适度的设计」,而是要力求气象万千、瑞气千条的高度设计。◆
[Go Back]