0

我不是 UML 方面的专家,我只是在毕业前上了一门课程,花了很多时间在 UML 建模上。我了解基础知识,但前几天我正在做一个项目,只是出于我自己的好奇心,我想知道您将如何为回调建模。这是我正在处理的代码的一部分


class OnChangeHandler():

    def my_init(self, rem, loc):
        self.remotes = rem
        self.locals = loc

    def process_IN_CREATE(self, event):
        #Do some work

    def process_IN_MODIFY(self, event):
        #Do some other work


class Watch():
    def __init__(self):

        self.wm = WatchManager()
        self. notifier = AsyncNotifier(self.wm, OnChangeHandler(loc=self.locals, rem=self.remotes))

我显然正在使用一个框架,所以我想我的问题归结为在使用黑盒模块和框架时如何建模复杂的关系?它甚至不值得花时间吗?但如果是这样,大多数程序不都是在框架内构建的吗?我发现 UML 类模型在我们学习时非常有用,但现在我只是感到困惑。

4

2 回答 2

0

只是为了记录。可以只为类中的回调注册和调用方法建模。OTOH 如果想要有更多的抽象来匹配框架组件和原型,可以使用,例如,通过使用事件和回调原型扩展接口元类。

于 2015-01-24T22:10:07.867 回答
-1

您可以通过反转 .class 来反转框架以获得类图。

请参阅以下网址的框架反向示例:http ://www.ejb3.org/jar_file_reverse/jar_file_reverse.html 类图将给出应用程序结构及其体系结构的视图。

为了了解运行应用程序时发生的情况,还可以使用序列图。它有助于更​​好地理解 .java 类如何与框架 .class 类发生反应。请参阅以下示例:http : //www.ejb3.org/jar_file_reverse/jar_file_reverse.html#3.Sequence_Diagram_reverse_engineering 如果您需要添加新代码并重用现有的编译代码,这非常有用。

希望这可以帮助。

于 2010-09-09T08:58:56.307 回答