我正在开发一个规模较大的 JS 应用程序,我想将一些常用功能分解为一个实用程序类。但是,我不太清楚我应该如何去做。
例如,假设我有一堆基于形状的类需要调用实用程序类中的函数:
// Triangle class
Triangle.prototype = new Shape();
Triangle.prototype.constructor = Triangle;
function Triangle() {...}
Triangle.prototype.drawOutline = function() {
var outline = Utility.canvas.trace(this._canvas); // Trace the shape.
this._viewport.drawImage(outline, 0, 0); // Draw the traced outline.
}
// Circle class
Circle.prototype = new Shape();
Circle.prototype.constructor = Circle;
function Circle() {...}
Circle.prototype.drawOutline = function() {
var outline = Utility.canvas.trace(this._canvas); // Trace the shape.
this._viewport.drawImage(outline, 0, 0); // Draw the traced outline.
}
Utility
在全局级别实例化类是否有意义?我觉得它上面应该有一个额外的级别,比如Application
我会有Application.Utility
,Application.UI
等等。不幸的是,走这条路会迫使每个专门的形状类知道更大的程序结构是什么(因此它可以引用Application.Utility
),这不是很好。
有没有更好的首选方式让专门的 JS 类使用未继承的通用类函数?
编辑:说我试图将其与C++ 或 Java中的#include
or语句联系起来可能会有所帮助。import
在 JS 中解决这个问题的最佳方法是什么?