1

クラスがどんどん大きくなるにつれて、維持するのが難しくなります。ですから、クラスのいくつかを複数のファイルに分割したいと思います。次のようなファイルでクラスを定義します。

var animal = can.Construct({
  someClassMethod: function() {...}
}, {
  somePrototypemethod: function() {...}
});

その後、別のファイルでこのクラスを再度開き、新しいクラスのメソッド/プロパティとプロトタイプのメソッド/プロパティを追加したいと思います。

これはcanJSで可能ですか?いいえの場合、考えられる回避策は何ですか?

4

1 に答える 1

2

プロトタイプとコンストラクターには、いつでもプロパティとメソッドを追加できます。それが JavaScript の仕組みです。あなたがまだアクセスできる限り、animalあなたはただ行うことができます

animal.anotherClassMethod = function() {}
animal.prototype.anotherPrototypeMethod = function()

別のファイルで。ただし、クラス定義が大きくなりすぎるのは、通常、やりすぎの問題です。それらが大きくなりすぎて 1 つのファイル (2000 行以上のコード行を意味する) で維持できない場合は、それらを分割する以外にリファクタリングするより良い方法が間違いなくあります。別々のファイルに分割することの欠点は、どの機能がどこにあるのかを知るのが難しいことです。

于 2013-03-09T15:58:06.437 に答える