問題タブ [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.

0 投票する
1 に答える
1250 参照

ninject-extensions - Ninject カスタム インスタンス プロバイダを使用して、ファクトリ メソッド引数を使用して正常にバインドし、解決する

私は、具象ファクトリが具象実装の名前付きバインディングに一致するファクトリメソッドの文字列引数に基づいて実装を返すと信じている同様の質問に対するこの受け入れられた回答を研究してきました。

ファクトリが抽象ファクトリである場合に、もう少し複雑な例を適切に動作させるのに苦労しており、Ninject 規則ベースのバインディングを使用したいと考えています。次のテストを検討してください。

インターネットで一度見たので、たいまつとナイフでジャグリングを試みます。

bicycleBuilderFactoryこのエラーで割り当てようとすると、刺されて炎上します。

型を解決するために、ファクトリ メソッド引数( )とジェネリック型引数( )を使用して、メソッドとカスタム プロバイダーを使用してバインドすることは可能ですか? ToFactory() "Germany"IVehicleBiulder<BlueBicycle>, BlueBicycle

テスト用の残りのコードは、できるだけコンパクトで読みやすいものです。

VehicleBuilder の実装

車両の実装:

0 投票する
1 に答える
1846 参照

ninject - オープン ジェネリックで Ninject Factory Extensions の ToFactory メソッドを使用することは可能ですか?

Ninject Conventions ExtensionsとカスタムIBindingGeneratorを使用して実装がバインドされ、 Ninject Factory Extensions のメソッドとカスタム インスタンス プロバイダーを使用してインターフェイスがバインドさ れている、以前に回答した質問に基づいて構築しています。ICarICarFactory ToFactory()

以前の ではなく に制約されてIVehicleFactory<T>いるをバインドして使用できるように、リファクタリングしようとしています。このようにして、ファクトリのメソッドで車両タイプの名前を渡す代わりに、ジェネリック型パラメーターで目的の車両を指定できます。TICarICarFactoryCreateCar()

ToFactory()この手法を使用して、オープンなジェネリック インターフェイスをバインドすることは可能ですか?

間違ったツリーを吠えているICarような気がしますが、名前で型を指定していたときに、ICar型自体をジェネリック型パラメーターとして指定するのが自然な進化のように思えました...

現在失敗しているテストは次のとおりです。

そしてInvalidCastException投げられた:

そして工場のインターフェース:

カスタム インスタンス プロバイダーでは、そのブレークポイントでデバッガーを停止することさえできないため、そこで何が起こっているのか本当にわかりません。

編集 1 - IVehicleFactory 署名とカスタム インスタンス プロバイダーの変更

ここでは、IVehicleFactory署名をジェネリックCreate<T>()メソッドを使用するように変更し、それ自体に明示的にバインドMercedesしました。

そして、最初のジェネリック型パラメーターの名前を返す新しいカスタム インスタンス プロバイダー:

これが新しいテストですが、まだ合格していません:

}

ANinject.ActivationExceptionがスローされます:

Mercedes明示的に自己バインドしたため、クラスが見つからない理由がわかりません。私が間違っていることを見つけることができますか?

0 投票する
1 に答える
242 参照

abstract-factory - 1 つのケースで混乱する、Abstract Factory パターンと Factory Method の違い

「ファクトリ メソッド」と「抽象ファクトリ」の主な違いは、ファクトリ メソッドは単一のメソッドであり、抽象ファクトリはオブジェクトであることです。でも、それが何なのか言えないこともある、例えば

ファクトリメソッドかアブストラクトファクトリか教えていただけますか?ありがとうございます!

0 投票する
1 に答える
126 参照

c# - ファクトリ メソッド パターンと抽象ファクトリ パターン

多くの方法で説明されている質問がありますが、まだ明確になっていません。

  1. 抽象ファクトリパターンにおける「オブジェクト合成」によるオブジェクトの作成とは?

どちらのパターンも継承を使用してオブジェクトを作成しているようです。

0 投票する
2 に答える
1937 参照

java - Abstract Factory は委任をどのように使用しますか

Abstract Factory と Factory デザイン パターンの違いは、AbstractFactory パターンはコンポジションを使用してオブジェクトを作成する責任を別のクラスに委任するのに対し、Factory デザイン パターンは継承を使用し、派生クラスまたはサブクラスに依存してオブジェクトを作成することです。

以下は、抽象ファクトリの典型的な例です ( http://www.oodesign.com/abstract-factory-pattern.html ) 抽象ファクトリがオブジェクト構成を使用している場所を説明してもらえますか?

ConcreteFactory1私はサブクラスを理解ConcreteFactory1し、オブジェクトをクライアントに返しています。通常、複数の製品を持つ Factory クラスとして機能します。

クライアントコードがどこにあるのか

抽象ファクトリのどこでオブジェクトの構成/委任が行われるのか説明してもらえますか?

0 投票する
2 に答える
116 参照

c++ - 構文エラー: 識別子 `MercedesFactory`?

このエラーメッセージをグーグルで検索しましたが、私のケースとの関係が見つかりません。

私は作ってみましたcars abstract factory

3 つのエラーがあります。

オンライン:

(各行の各エラー)。

問題を見つけるのを手伝ってもらえますか? 前もって感謝します。