問題タブ [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 投票する
14 に答える
73689 参照

java - Factory パターンと Strategy パターンの違いは何ですか?

ファクトリーパターンと戦略パターンの違いを説明できる人はいますか?

私にとって、両方とも追加のファクトリークラス(ファクトリーパターンで製品のオブジェクトを作成する)以外は同じように見えます

0 投票する
19 に答える
250193 参照

design-patterns - Factory デザイン パターンと Abstract Factory デザイン パターンの基本的な違いは何ですか?

Factory パターンと Abstract Factory パターンの基本的な違いは何ですか?

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

.net - StaticFactory ですコードキャンプサーバーでよく知られているパターン?

CodeCampServer ソース コードには、汎用のStaticFactoryが含まれています。

これは、フレームワークが Dependency Injection でうまく機能するメカニズムの重要な部分であると推測しています。

そのサブクラスは、DefaultUnconfiguredState を使用して静的アクセスを提供します。つまり、依存関係解決メカニズムが動作するものに置き換えることができる Default Unconfigured State への静的アクセスを提供します。

これに関するドキュメントを見つけることができませんでした...

に良い説明はありますか?(Amazonからの発送待ちです…)

...または、これが何であるか、およびこのパターンを採用するのが賢明かどうかについて、他の誰かが良い解説を提供できますか?

アップデート

Jeffrey Palermo がこの質問に答えたので、MVC2 in Action の (進行中の) 原稿で、このパターン/スタイルが説明され、ドメイン層を無視するためにリポジトリを見つけるために使用されるファクトリを使用して示されていることがわかります。持続性の懸念。(第 23 章を参照)。

デフォルトでは、このファクトリを使用すると例外がスローされます。

「リポジトリを作成する方法の知識は、ファクトリにはありません。このファクトリは、リポジトリを返す機能を表すだけです」

この例では、リポジトリ インターフェイスの具体的な実装を初期化するためのいくつかのメカニズムの 1 つを使用できます。本の例では、簡単にするために IOC コンテナーを使用しないことを選択し、一部の起動ロジックで明示的に提供しています。

「重要なことは、Core プロジェクトも UI プロジェクトも、本質的に純粋にインフラストラクチャであるインフラストラクチャ プロジェクトまたはライブラリを参照してはならないということです。アプリケーションの残りの部分がどのようにデータアクセスが発生しています」

この新しい章のサンプル コードに関する最後の注意点は、Factory が静的ではなくなったことです (少なくとも、外部に面したインターフェイスに関する限り)。

更新 2

Palermo 氏は、Abstract Factory のこの特定のスタイルについてさらにブログを書いています(OrderShipperFactory の実装を参照してください)。

「手動依存性注入」 (ボブおじさん)も検討できます。

更新 3 - 2016 年 3 月

ここに別の例がありますが、Jeffrey はこれがデモ コードであることを明示しており、コメントは、これが Mark Seeman がコンポジション ルートと呼ぶもの(つまり、アプリケーションの起動時)で構成されることを示しています。

これは、Jeffrey の記事「Onion Architecture: Part 4 - After Four Years」で発見しました。

0 投票する
3 に答える
11003 参照

design-patterns - ファクトリ、抽象ファクトリ、ファクトリメソッド

私はこれらの3つの用語について本当に混乱しています。

私の理解はそれです:

  • ファクトリパターンでは、具体的なファクトリはありません。ファクトリは、パラメータに従って新しいオブジェクトを作成します。

  • Abstract Factoryパターンでは、複数の具体的なファクトリがあります。クライアントは、さまざまな具体的なファクトリを明示的に作成する必要があります。

そうですか?

他の違いは何ですか?

さらに、ファクトリメソッドパターンとは何ですか?ファクトリパターンと同じですか?

0 投票する
3 に答える
226 参照

c# - codecampserverのStaticFactoryはよく知られているパターンですか?

更新:これは 、codecampserverのStaticFactoryはよく知られているパターンの複製ですか?

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

java - 抽象ファクトリの実装

このような抽象ファクトリを実装しました

具体的なファクトリは、この抽象ファクトリ コンストラクタを呼び出す必要があります。これにより、各具体的な実装がFACTORIESマップに登録されます。コンストラクターの実行が戻るまで の値を未定義にする必要があるthisように見えるため、コンストラクター内での参照について少し心配しています。this

ありがとう、ドン

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

abstract-factory - IoCおよびAbstractFactoryパターンに従ったクラス設計

抽象ファクトリメソッドに値を提供する正しい方法はどれですか?

例えば。

この例では、ファクトリが作成されるときにリポジトリがコンストラクタを介して注入されますが、代わりにリポジトリをIFactoryインターフェイスに移動できます。

これを行う「正しい」方法とは何ですか?抽象ファクトリを設計するときの1つの理由は何ですか?

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

generics - 一般的な MVP パターンと抽象ファクトリ パターンの組み合わせ

以下のコードを解決する方法はありますか? 私はちょっと立ち往生しています。
ファクトリを使用して汎用プレゼンターを作成するにはどうすればよいですか?非汎用基本クラスがなくても可能ですか?

}

0 投票する
6 に答える
6963 参照

design-patterns - 抽象ファクトリー、ファクトリーメソッド、ビルダー

この質問はだまされているように思えるかもしれませんが、ご容赦ください。関連する投稿 (およびGOFの本) を読んだことを約束します。

すべてを読んだ後でも、Abstract Factory、Factory Method、または Builder をいつ使用するかはまだ明確ではありません。たとえば、ビルダーが最もよく取り組む問題の簡単な例を見た後、最終的には沈み込むと思います。たとえば、抽象的なファクトリを使用するのは明らかにばかげています。

明確に 1 つのパターンを使用し、他のパターンを使用しない簡単な例を挙げていただけますか?

例が単純すぎると意見の問題になる可能性があることは理解していますが、できる人がいるなら、その人がSOにいることを願っています。

ありがとう。