我在 ABAP 中编码并实现了模板方法模式。我喜欢为此画一些 UML 类图。在 UML 中为类执行此操作是没有问题的。但是我的类是在一个功能模块(SAP 特定术语)中实现的,它就像一个独立的方法,我用它来使实现可用于远程过程调用。
那么在一个图表中获得非 oo 功能模块和 oo 类的最佳可能性是什么。有任何想法吗?
编辑:你可以混合组件图和类图吗?
我在 ABAP 中编码并实现了模板方法模式。我喜欢为此画一些 UML 类图。在 UML 中为类执行此操作是没有问题的。但是我的类是在一个功能模块(SAP 特定术语)中实现的,它就像一个独立的方法,我用它来使实现可用于远程过程调用。
那么在一个图表中获得非 oo 功能模块和 oo 类的最佳可能性是什么。有任何想法吗?
编辑:你可以混合组件图和类图吗?
在逻辑组中组织功能(例如,它们的功能组)。为每个逻辑组创建一个实用程序类,并将函数作为这些实用程序类的静态成员。
将/每个函数视为具有一个(静态)方法的类?
我们使用带有原型的类<<function pool>>
来表示 - 嗯 - 一个函数池和带有原型的方法<<function module>>
来表示功能模块。FORM
您可以对子程序、MODULE
s、子程序池等做同样的事情。我们还倾向于使用基于原型的着色方案,以便接口为绿色阴影,函数池等遗留程序的东西为红色等等。不幸的是,由于没有可行的建模工具同时具有系统到模型和模型到系统的链接,因此使用 UML 进行 ABAP 开发的工作量相当大。
UML 不仅仅是类图,基于提供的有限信息,我将使 SAP 调用者元素成为系统上的外部 Actor,使用系统边界包含类图中记录的系统的 OO 方面,使用活动图表以记录完整的工作流程。
在对象(和类)方向中,一切都被认为是一个对象,甚至是非对象!!!
模块、名称空间和库是 UML 创建者似乎忽略的事情之一。
许多设计者表示全局元素,包含在文件、命名空间或模块中,将模块表示为单个对象或类。
I 语言,如 Javascript、模块,都包含在单例对象或全局对象中。
这是如何实现非 OO 的一般示例。
......................................................................
..+----------------------------------------------------------------+..
..| <<module>> |..
..| Strings |..
..+----------------------------------------------------------------+..
..| [+] String[]: Letters <<constant>> <<global>> |..
..| [+] String[]: Digits <<constant>> <<global>> |..
..+----------------------------------------------------------------+..
..| [+] String: ToUppercase(String Value) <<function>> <<global>> |..
..| [+] String: ToLowercase(String Value) <<function>> <<global>> |..
..+----------------------------------------------------------------+..
......................................................................
干杯。