鉴于UML面向面向对象的更为经典的方法,它仍然可以以可靠的方式用于设计JavaScript系统吗?
我可以看到的一个具体问题是,实际上,类图是系统的结构化视图,而JavaScript是更多由行为驱动的,那么如何处理呢?
请记住,我在这里不是在谈论真实世界;这是我要实现的解决方案的模型。
鉴于UML面向面向对象的更为经典的方法,它仍然可以以可靠的方式用于设计JavaScript系统吗?
我可以看到的一个具体问题是,实际上,类图是系统的结构化视图,而JavaScript是更多由行为驱动的,那么如何处理呢?
请记住,我在这里不是在谈论真实世界;这是我要实现的解决方案的模型。
Answers:
听起来您在问两个不同的问题
请记住,UML包括许多类型的图,特别是行为图的一个分支,包括序列图和用例图。此类图专门解决了将javascript建模为行为驱动语言的问题。
JavaScript系统很可能没有使用面向对象的设计。如您所指出的,在这种情况下,类图可能不合适。但是,由于javascript确实支持面向对象的设计,因此类图可以有效地描述使用javascript的系统。这实际上取决于如何使用javascript。
您的答案隐藏在您的问题中:
我可以看到的一个具体问题是,实际上,类图是系统的结构化视图,而javascript是更多由行为驱动的,那么如何处理呢?
查看BDD(行为驱动的开发)技术,然后选择适合您设计需求的工具。
您可能会发现对您有用的相关讨论- 如何在BDD中编写故事/场景。以及《 Code》杂志上非常全面的文章- 行为驱动开发
ps:通常,UML represent general types of behavior
它仍然可以用于使用正确的一组选定类别(例如顺序图)对您的设计进行建模。I would reference the Wikipedia and find the right UML diagram category to use.
是的,您可以使用UML,尤其是序列图。
关于类图的使用,这取决于您是否使用面向对象的设计原理来设计应用程序。如果只有一堆JavaScript函数,则类图不会增加太多。如果您使用JavaScript对象原型来模拟一种类,那么这些图将很有用。
基于我在UML中设计Javascript前端的经验,我写了一份有关以下主题的白皮书:Angular应用UML中的技术设计。