Web アプリに backbone.js を使用しています。
いくつかの基本クラスから派生したさまざまなコンポーネント ビューがあります。各ビューには、インスタンスを初期化および作成するための静的メソッドがいくつかあります。
例えば:
class Base extends Backbone.View
@create:(config)->
*do some processing based on config*
*generate view parameters*
viewparams = ....
return new @(viewparams)
class Derived extends Base
**some customizations and functions**
**at some point some where**
instanceDerived = Derived.create(*some params*)
このメソッドの利点は、create メソッドを再利用することが自然になることです。「@」または「this」は Derived クラス (コンストラクター) を参照するため、オブジェクトを簡単に作成できます。
両方のクラスが同じモジュールにある場合、コードはうまく機能します。ただし、オブジェクトが異なるモジュールにある場合、create 関数内の「@」または「this」は、派生クラス コンストラクターではなく「Base.create」を参照します。
ここで型にはまらないコーディングを行っているかどうかはわかりません。この問題を解決/構造化する方法についてアドバイスをいただけますか?