回调函数/类的UML类建模
问题描述:
我并不是UML方面的专家,我刚刚毕业之前花了大量的时间在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类模型在学习时非常有用,但现在我只是感到困惑。
答
您可以通过反转.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 如果您需要添加新代码并重新使用现有的编译代码,这非常有用。
希望这会有所帮助。
答
只是为了记录。我们可以对类中的回调注册和调用方法进行建模。 OTOH是否需要进行更多的抽象以匹配框架组件和原型,例如,通过使用Event和Callback原型扩展Interface元类。
我不确定我会在类图中绘制回调图。类图显示了类是如何相关的。我认为回调最好用序列图建模。 – 2010-09-09 02:38:01