【发布时间】:2016-08-23 12:39:39
【问题描述】:
我有一个 300 行的 javascript 文件,它为 ASP.NET MVC 应用程序中的多个视图使用的局部视图设置 jQuery 事件处理程序和其他所需的函数。事件处理程序以相同方式处理 99% 的所有内容,无论哪个视图使用部分视图。这个问题大约是 1% 的差异。
由于 JavaScript 没有接口,定义一个函数是否安全,该函数由一个或多个事件处理程序调用,这些事件处理程序处理根据使用的视图加载的单独文件中的不同内容?如果不是,那么处理这种情况的最佳方法是什么?在其他语言中,我会在这种情况下使用接口和/或抽象类。
例子:
共享文件
$(document).ready(function() {
//shared variables here for methods
$(document).on('click', '.selectable-table tbody tr', function() {
//do shared actions
mySpecificFunction();
//finish shared actions (if necessary)
});
});
Definition1.js
function mySpecificFunction() {
//do stuff
}
Definition2.js
function mySpecificFunction() {
//do other stuff
}
视图会像这样加载适当的脚本:
<script src="definitionX.js"></script>
<script src="sharedScript.js"></script>
mySpecificFunction() 的“签名”(由于 javascript 而被大量使用)对于每个定义都是相同的,但我的直觉告诉我这是不好的做法。是否有更好/正确的方法或为此目的的设计模式?
【问题讨论】:
-
如果你想形式化,你考虑过命令模式吗? dofactory.com/javascript/command-design-pattern
-
@YuriyGalanter 我认为这是我需要研究的路线。我承认我不知道很多 JavaScript 的正式设计模式。您还有其他资源吗?或者您可以在答案中发布示例吗?
标签: javascript jquery oop design-patterns