我有一些Python类,我假装用某种可视化工具来管理它们。每个类都有一些可以执行操作的方法(同时也接受参数或返回值或其他类实例)
假设这些类是“Person”、“Hat”和“Handwatch”。现在,让我们假设“Person”具有方法getName()
和putOn(object)
从代码的角度来看,将“handwatch”或“帽子”附加到“person”(考虑到我刚才提到的类)将非常简单:
person = Person()
if person.getName() == "Fred":
handwatch = Handwatch()
person.putOn(handwatch)
else:
hat = Hat()
person.putOn(hat)
但是,如果我希望能够“绘制”类实例之间的那种交互,该怎么办
想象一下,一个类似UML的可视化工具可以让我通过从“类”的调色板中拖拽并删除这些类的“实例”来“表示”代码,然后生成与之完全相同的代码
有没有我可以使用的库来实现类似的东西?或者甚至是一些关于这个主题的文献
您不需要从图生成代码(图是显示模型一部分的规范化图片),您需要从活动生成代码的工具(可以在图中显示)
作为状态机,活动是一种行为,可以表示操作的定义,例如,与交互相反(可以通过序列图显示)
在代码中,获取新创建的人员的名称似乎是人为的,其名称在创建时未在参数中给出。假设通过输入参数person接收实例,表示代码的活动可以是:
其中绿色的动作是调用操作动作(被调用的操作命名为清除),蓝色的动作是创建对象动作(其名称表示要清除的类)
此外,为了图的清晰性,引脚“name”实际上具有方向返回等
从该活动生成Python代码并没有什么不好的,请注意,还有一点可以帮助定义操作,它可以是一种不透明的形式,您可以直接将Python代码放入其中
我认识做这件事的建模师吗?不,抱歉,我甚至想通过{EM>插件EX>在BoUML中做,就像我做状态机生成器(产生C++代码)一样,但是没有人要求。那么,就这么做吧
相关问题 更多 >
编程相关推荐