問題タブ [abstract-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.
ninject-extensions - Ninject カスタム インスタンス プロバイダを使用して、ファクトリ メソッド引数を使用して正常にバインドし、解決する
私は、具象ファクトリが具象実装の名前付きバインディングに一致するファクトリメソッドの文字列引数に基づいて実装を返すと信じている同様の質問に対するこの受け入れられた回答を研究してきました。
ファクトリが抽象ファクトリである場合に、もう少し複雑な例を適切に動作させるのに苦労しており、Ninject 規則ベースのバインディングを使用したいと考えています。次のテストを検討してください。
インターネットで一度見たので、たいまつとナイフでジャグリングを試みます。
bicycleBuilderFactory
このエラーで割り当てようとすると、刺されて炎上します。
型を解決するために、ファクトリ メソッド引数( )とジェネリック型引数( )を使用して、メソッドとカスタム プロバイダーを使用してバインドすることは可能ですか? ToFactory()
"Germany"
IVehicleBiulder<BlueBicycle>, BlueBicycle
テスト用の残りのコードは、できるだけコンパクトで読みやすいものです。
VehicleBuilder の実装
車両の実装:
ninject - オープン ジェネリックで Ninject Factory Extensions の ToFactory メソッドを使用することは可能ですか?
Ninject Conventions ExtensionsとカスタムIBindingGeneratorを使用して実装がバインドされ、 Ninject Factory Extensions のメソッドとカスタム インスタンス プロバイダーを使用してインターフェイスがバインドさ
れている、以前に回答した質問に基づいて構築しています。ICar
ICarFactory
ToFactory()
以前の ではなく に制約されてIVehicleFactory<T>
いるをバインドして使用できるように、リファクタリングしようとしています。このようにして、ファクトリのメソッドで車両タイプの名前を渡す代わりに、ジェネリック型パラメーターで目的の車両を指定できます。T
ICar
ICarFactory
CreateCar()
ToFactory()
この手法を使用して、オープンなジェネリック インターフェイスをバインドすることは可能ですか?
間違ったツリーを吠えているICar
ような気がしますが、名前で型を指定していたときに、ICar
型自体をジェネリック型パラメーターとして指定するのが自然な進化のように思えました...
現在失敗しているテストは次のとおりです。
そしてInvalidCastException
投げられた:
そして工場のインターフェース:
カスタム インスタンス プロバイダーでは、そのブレークポイントでデバッガーを停止することさえできないため、そこで何が起こっているのか本当にわかりません。
編集 1 - IVehicleFactory
署名とカスタム インスタンス プロバイダーの変更
ここでは、IVehicleFactory
署名をジェネリックCreate<T>()
メソッドを使用するように変更し、それ自体に明示的にバインドMercedes
しました。
そして、最初のジェネリック型パラメーターの名前を返す新しいカスタム インスタンス プロバイダー:
これが新しいテストですが、まだ合格していません:
}
ANinject.ActivationException
がスローされます:
Mercedes
明示的に自己バインドしたため、クラスが見つからない理由がわかりません。私が間違っていることを見つけることができますか?
abstract-factory - 1 つのケースで混乱する、Abstract Factory パターンと Factory Method の違い
「ファクトリ メソッド」と「抽象ファクトリ」の主な違いは、ファクトリ メソッドは単一のメソッドであり、抽象ファクトリはオブジェクトであることです。でも、それが何なのか言えないこともある、例えば
ファクトリメソッドかアブストラクトファクトリか教えていただけますか?ありがとうございます!
c# - ファクトリ メソッド パターンと抽象ファクトリ パターン
多くの方法で説明されている質問がありますが、まだ明確になっていません。
- 抽象ファクトリパターンにおける「オブジェクト合成」によるオブジェクトの作成とは?
どちらのパターンも継承を使用してオブジェクトを作成しているようです。
java - Abstract Factory は委任をどのように使用しますか
Abstract Factory と Factory デザイン パターンの違いは、AbstractFactory パターンはコンポジションを使用してオブジェクトを作成する責任を別のクラスに委任するのに対し、Factory デザイン パターンは継承を使用し、派生クラスまたはサブクラスに依存してオブジェクトを作成することです。
以下は、抽象ファクトリの典型的な例です ( http://www.oodesign.com/abstract-factory-pattern.html ) 抽象ファクトリがオブジェクト構成を使用している場所を説明してもらえますか?
ConcreteFactory1
私はサブクラスを理解ConcreteFactory1
し、オブジェクトをクライアントに返しています。通常、複数の製品を持つ Factory クラスとして機能します。
クライアントコードがどこにあるのか
抽象ファクトリのどこでオブジェクトの構成/委任が行われるのか説明してもらえますか?
c++ - 構文エラー: 識別子 `MercedesFactory`?
このエラーメッセージをグーグルで検索しましたが、私のケースとの関係が見つかりません。
私は作ってみましたcars abstract factory
:
3 つのエラーがあります。
オンライン:
(各行の各エラー)。
問題を見つけるのを手伝ってもらえますか? 前もって感謝します。