0

プロジェクトを多くの OO クラスに分割した後、Model複数のコンストラクターを介してインスタンス (Mongoose モデルとスキーマを含む) への参照を渡す必要があります。

Modelモジュール内でクラスのインスタンスを作成し、必要なすべての場所でmodel.jsこのmodel.jsモジュールを要求するのは悪い習慣でしょうか?

このようなもの:

Model = function () { ... }

module.exports = new Model();

これは、ノードのモジュール キャッシングに依存して、グローバル シングルトンのように、同じModelインスタンスをファイル間で共有できるようにします。

または、コンストラクターを介して依存関係を明示的に渡す必要がありますか?

4

2 に答える 2

1

はい、そうです。これは悪い習慣であり、簡単に悪用されます。これにより、密結合されたモジュールが保証され、マングースから離れた場合、データベースに触れるすべてのファイルを変更する必要があることを意味します。シングルトンの誤用が悪いのと同じ理由で、それは悪いことです。

多くの人が特定の方法で何かを行っているからといって、それが良いことであるとは限りません。

于 2012-07-04T10:06:28.723 に答える
1

いいえ、それは悪い習慣ではありません。実際、多くの人がこのようにしています。

于 2012-07-01T14:34:50.177 に答える