版的变动-level of detail for 3d graphics
从UML 1.0版到UML 1.1版的变动类型与实现类在《UML精粹》的第1版中, 我谈到视面以及这些视面如何改变人们绘制模型与解释模型(特别是类图)的方式。现在UML考虑到这一点, 这是通过声明类图上所有的类都可以特化成类型或实现类。那么,这种变动究竟意味着什么呢?
实现类(implementation class)对应于你所处的软件开发环境中的类,而类型(type)则更为模糊,表示“较少囿于实现”的抽象。想象一下,类型就像是CORBA类型、类的规约视面或概念视面。如果需要,还可以加上衍型以进一步区分。对特定的图,可以说所有的类都遵循一特定的衍型,这是你根据某一特定视面绘图时应做之事。比如,实现视面要使用实现类,而规约视面与概念视面则要使用类型。你可能会问:这与接口有何不同?接口(interface)打算直接对应于Java或COM风格的接口。因此,接口只有操作,而无属性。
那么如何在实际开发中应用这些概念呢?JDBC接口的实现类和线程类实现Runnable接口都是我们在编程时会遇到的具体实现类,而UML类图中的接口与接口实现则可以帮助我们更好地理解接口的使用方法。ATL使用类型库实现IDispatch接口提供了一个非常实用的例子来说明如何在UML类图中实现复杂的接口功能。
因此,利用实施关系指出一个实现类实现一个或多个类型,并将这些抽象概念应用到实际开发中,无疑会让你的代码更加清晰和模块化。对实现类,可以使用单一静态分类,但对类型却可以使用多种分类,使得你的模型更为灵活。具体的例子和相关链接将为你提供更多有价值的信息和实用的指导。
下载地址
用户评论