私はやや大規模な 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でこれを行う最良の方法は何ですか?