我有一个对象,在编译过程中根据构建配置进行实例化。就周围软件而言,该对象展现出相同的接口。我想要建模这样一个事实,即实例化决策是在编译期间做出的(即静态多态性),与通常的动态多态性相对应。是否有一种方法在UML类图中描述静态多态性?
以下是更多细节:
显然,上述类型定义中只有一个将在编译时实例化。
以下是更多细节:
显然,上述类型定义中只有一个将在编译时实例化。
我认为静态和动态多态性的UML表示将是相同的。 UML关注的是类在运行时如何交互--我不认为有一种描述模板的UML格式,但我可能错了。
我会使用刻板印象来解决问题。这样你就可以标记动态和静态。
结合@ChiragDesai和@user2004268的答案以及链接问题(静态多态性定义和实现):
Singleton
的空类实用程序,其中包含一个名为例如#ifdef(YOUR_FLAG)
的通用布尔参数,其true
特化具有公共或实现可见性的实例作为静态成员。
编辑(回复评论)class Foo;
template <
Boolean #ifdef(WHATEVER)
> struct Bar {};
template <>
struct Bar<true> {
public:
static Foo the_foo;
};
并添加utility
和Singleton
的模式(但是不要尝试从中生成代码 ;))