問題タブ [factory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 名前付きコンストラクタと継承
私は C++ フレームワークに取り組んでおり、多数のコア クラスに自動メモリ管理を適用したいと考えています。これまでのところ、私は標準的なアプローチを持っています
ただし、 Foo をサブクラス化すると、上記は壊れます。init()
継承shared_ptr<Foo>
されているため、のインスタンスへのポインターを含むものが返されますFoo
。
これに対するエレガントな解決策を考えられる人はいますか? おそらく、クラスのインスタンスを(半)手動でラップすることに固執する必要がありshared_ptr
ますか?これにより、新しい名前付きコンストラクターを宣言せずに、パラメーター化されたコンストラクターを公開することもできます...
すなわち。
python - Pythonのファクトリとして基本クラスコンストラクタを使用していますか?
私は基本クラスのコンストラクターをファクトリとして使用しており、このコンストラクター/ファクトリのクラスを変更して適切なクラスを選択しています-このアプローチはPythonの優れた実践ですか、それともより洗練された方法がありますか?
メタクラスに関するヘルプを読み込もうとしましたが、大きな成功はありませんでした。
これが私がしていることの例です。
このコードがあれば、基本クラスProjectを介してProjectLocal/ProjectRemoteのインスタンスを作成できます。
別の方法は、URLに基づいてクラスオブジェクトを返すファブリック関数を使用することです。コードは次のようになります。
私の最初のアプローチは好みの問題ですか、それともいくつかの隠れた落とし穴がありますか?
.net - 仕様を使用して作成するオブジェクトのタイプを決定するファクトリの実装
これは主に思考実験です。これはすべてサンプルコードです。私の目標は、仕様パターンを使用して、ファクトリ内の条件付きコードの巨大なブロックを排除することでした。したがって、このサンプルには、適切な IStatusUpdate の実装を取得する StatusData オブジェクトがあります。
次の一連のテストがあります。
これまでの My Factory の実装は次のようになります。
私が落ち込んでいるところは、ステータスオブジェクトによって満たされる仕様を発見した後、その仕様を IStatusUpdate を実装する型にどのようにマップするかということです..私は困惑しています.
IStatusUpdate 実装者への仕様のマッピングが必要であると誰かが正しく提案しました。このマッピングは工場の責任のようで、仕様から外れると SRP 違反の匂いがします。その責任を持つMapperクラスを作成することはできますが、それはあまり一般的ではないようで、マッパーを仕様にどのようにマップするかという疑問も生じます。
ここには、私が見逃している小さな飛躍がまだ 1 つあります。
design-patterns - Factory DP のみを介してすべてのクラスをインスタンス化する利点は何ですか?
Factory DP のみを介してすべてのクラスをインスタンス化する利点は何ですか?
あるタスクを実行するために同様のオブジェクトのリストから選択する必要がある場合、Factory が適切であることがわかっている限り、翻訳クラス (英語 -> フランス語、アラブ -> ヘブライ語など) のように考えてみましょう。オプション、ファクトリ メソッドでロジックを覆い隠す/抽象化する理由はありません。
洞察はありますか?
c# - NHibernate では、ファクトリを使用して複雑な集約オブジェクト (エンティティ) を構築できますか?
NHibernate では、ファクトリを使用して複雑な集約オブジェクト (エンティティ) を構築できますか? はいの場合、どのように?そうでない場合..その後、あなたのアプローチは何ですか?
c++ - クラス名を保持する文字列からオブジェクトをインスタンス化する方法はありますか?
私はファイルを持っています:Base.h
および別のファイル: BaseFactory.h
この文字列を実際の型 (クラス) に何らかの形で変換して、BaseFactory がすべての可能な派生クラスを知る必要がないようにし、それぞれに if() を持たせる方法はありますか? この文字列からクラスを生成できますか?
これは、Reflection を使用して C# で実行できると思います。C++に似たようなものはありますか?
ruby-on-rails - factory girl の非アクティブレコード関連付けに関する問題
テスト中に、ファクトリーガールを使用してフィクスチャを交換し始めました。私は twitter クライアントに取り組んでおり、factory girl を使用してテスト用の twitter オブジェクトを作成しようとしています。個別に作成する場合は問題ありません。しかし、それらを関連付けようとすると、以下のエラーが発生します。
そこにあるとこのt.association :user, :factory => :twitter_user
例外がスローされるため、問題が発生します。とにかくこれを修正する方法はありますか?それとも、factory girl はアクティブ レコード オブジェクト用に設計されているだけですか? ありがとう