2011-02-17 65 views
4

使用面向对象语言(如Java或C#)进行开发时,开发人员在开始实现之前使用UML等设计工具来制作类图,创建接口,定义主要组件和交互,勾画API等等并不少见。我知道这些软件工程原理可能是过量的,但如果你正在开发一个库(jQuery,YUI)或创建一个大型应用程序(Gmail,Google Docs),那么这是个好主意。在开始编写任何代码之前创建一个设计并提前计划。是否有任何优秀的JavaScript开发设计实践或标准?

在JavaScript开发或Web开发中是否有类似的做法?

编辑:

只是为了澄清,我没有兴趣在创建类/接口或进行UML为JavaScript。 JavaScript是与Java/C#不同的范例,因此需要不同的设计工具。我很想知道这些JavaScript设计工具/实践是什么,如果有的话。

也许这个问题更好地提出了我想知道的问题:如果像Google这样的公司创建了一个大型Web应用程序,并且有几十个团队成员创建它,那么这个团队将使用哪些流程,文档和实践来成功创建,协作和巩固设计?使用什么工具(例如UML,流程图,一张纸上的潦草的笔记)来处理和共享应用程序的设计(无需编写一行代码)?

+3

可以应用任何语言无关的设计方法为JavaScript。我倾向于定义模块的接口并开发单元测试。您还可以使用像underscore.js这样的库来应用高级功能抽象。 – Raynos 2011-02-17 17:29:16

回答

1

我认为答案在很大程度上取决于使用客户端的库(如果有的话)。例如,Jquery代码与Sencha或Sproutcore代码看起来非常不同。在Sencha和Sproutcore中,框架为您提供了用于开发组件的'类'系统,因此这些框架适用于设计模式的规范形式。

另请注意,JavaScript与Java或C#非常不同。你可以在你的代码中强加一个接口类型系统,但是很多人会认为你正在杀死JavaScript动态语言迷人的东西。

这就是说,它总是有一个好的计划。如果你可以通过扩展JS对象来保持DRY,那么我认为你应该。将高层设计放在适当的位置总是有意义的。

+0

感谢您的评论。我知道JavaScript是与Java/C#不同的范例,这就是为什么我不想使用为面向对象语言构建的设计工具的原因。但是,我也不想在记事本或Word文档中涂写设计笔记。如果有标准或最佳实践方式说“这是我们对我们的Web应用程序达成共识的设计/ API”,那将会很不错。 – 2011-02-17 16:38:07

+2

@zarjay,对。如果这是一个真正的RIA,那么我相信你应该设计它。看看我的答案,看看我是如何设计我的一个应用程序的一部分:http://stackoverflow.com/questions/5018391/finite-state-machine-pattern-the-one-true-pattern/5018499#5018499 – hvgotcodes 2011-02-17 16:47:02

相关问题