我终于鼓起勇气去掌握UML状态机,这需要为WPF / C#应用程序实现和记录相当复杂的ViewModel。 viewmodel必须处理几种不同的编辑状态和传入数据集,因此SM是描述它的好方法。
我已经使用Altova的UModel来设计SM,最终得到3个简单状态和4个嵌套状态。我可以在我的ViewModel中实例化UModel生成的状态机类,并将SM事件连接到我的ICommands和事件订阅,并使用SM操作来操作数据。到目前为止,非常好。
现在我需要根据当前的SM状态设置几个VM属性的布尔值(例如IsChanged,IsEditing等)。这些属性旨在使XAML视图的绑定尽可能简单。它们的值如何随SM过渡而变化是设计的关键部分,因此我希望这些值成为SM图的一部分。如果它们自动成为生成的SM类的一部分也会很棒。
我已经为每个标志定义了具有bool属性的构造型。我已将此构造型应用于每个状态,以便在SM图上记录每个状态的正确值。
我的问题是:
有没有更好的方法来解决这个问题?
从SM类生成属性有多难 每个州的刻板属性?
我真的很感激有关我是否应该沿着这条路走下去的一些指导。我目前正在使用/评估UModel,但也会关注Enterprise Architect。感谢。