問題タブ [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 に答える
1676 参照

design-patterns - MVC パターンと抽象ファクトリ

私の主な問題は、従業員、タスク、プロジェクト、および部門エンティティに関する情報を含むデータベース サーバーとの通信を実装することです。どのエンティティが DB に含まれるかは事前にわかりません (つまり、新しいタイプのエンティティ (会社など) を DB に追加することが可能です)。次の 3 つの抽象Javaクラスを作成するように MVC を実装します。

このクラスを次のように抽象ファクトリにラップしたことは理にかなっていますか?

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

android - サードパーティのフレームワークなしで Android アクティビティをテストするときに依存関係を挿入する方法は?

CommentActivity通常は のインスタンスを構築して使用するAndroid アクティビティをテストしたいと考えていますCommentsDataSource(どちらも私が作成したクラスです)。

私はMockCommentsDataSource自分で作成したいと考えており、サードパーティのモック フレームワークの使用を避けたいと考えています。(なぜですか?私は、学期に詰め込む必要がある情報の量と、生徒がインストールする必要のあるソフトウェアの量を削減しようとしているためです。Guice、roboguice、Spring を推奨する他の投稿を見たことがあります。)

私の質問は、アクティビティにCommentsDataSource(または) を渡す方法です。それらをorにするのは実用的ではMockCommentsDataSourceないようです。デバッグ フラグを簡単に渡すことはできますが、それを使用するにはについて知る必要があります。これは実際には (別のアプリケーションでは) 関係ありません。SerializableParcelableIntentCommentActivityCommentActivityMockCommentsDataSource

にどのように注入すればよいMockCommentsDataSourceですCommentActivityか? FWIW、私はEclipseを使用しており、最近のSDKバージョン用に開発しています。

私が思いつく解決策の 1 つは、抽象ファクトリ パターンを使用することです。ファクトリをシリアライズ可能にするのは比較的簡単だからです。私の制約を考えると、それが最善のアプローチですか?

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

objective-c - ココアのクラスクラスタと抽象ファクトリの違い

Obj-C クラス クラスタ抽象ファクトリの実装であると読みました。

設計パターンとして2つに違いがあるかどうか、誰でも説明できますか。クラス クラスタには、従来の抽象ファクトリには適用されない特定の制限があることをどこかで読みましたが、詳細は示されていません。

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

c# - 抽象ファクトリを実装しようとすると、オブジェクト参照がオブジェクトに設定されません

Unity で初めてのゲームを開発しており、Abstract Factoryパターンを適用してゲームのモンスターを作成しようとしています。すべてのモンスターが実装する必要があるインターフェイスがあります。

私は具体的なモンスターを持っています

そして、後で具体的な Monster オブジェクトをランダムに作成できるように、新しい Monster オブジェクトを返すメソッドを持つ Factory クラスを作成したいと考えています。私は次のように書いた:

そして、私はこのファクトリーをメインで次のように使用しようとしています:

ゲームを実行しようとすると、次のエラーが表示されますNullReferenceException: Object reference not set to an instance of an object

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

java - コマンドライン引数に基づいてサブクラス オブジェクトを作成する最良の方法

スーパークラスを拡張するいくつかのサブクラスがあり、コマンド ライン インターフェイスのユーザーが使用するサブクラスを選択できるようにしたいと考えています。すべてのサブクラスは同じコンストラクタ形式を持ちます。

たとえば、 を呼び出せるようにしたいのですがrun --subclass=Subclass1、結果として が呼び出されSubclass obj = new Subclass(arg1, arg2)ます。これを行う方法はいくつか考えられますが、このパターンが頻繁に出てくるので、標準的な方法または受け入れられている方法があると思います。そうでない場合は、最もエレガントでシンプルなことをしたいと考えています。

これが私の現在の提案です(Namespaceコマンドライン引数を含むオブジェクトがあると仮定します):

サブクラスのコンストラクターがすべて引数を取らない場合、これは a を使用せず、Constructorを実行することで簡素化できますreturn classMap.get(namespace.get("subclass")).newInstance();。1 つの欠点は、ここまたは上流で処理する必要があるいくつかの例外 ( InstantiationExceptionIllegalAccessExceptionNoSuchMethodException、 ) のいずれかをスローする可能性があることに注意してください。InvocationTargetException

これは合理的ですか?それは最善の方法ですか?使用する標準パターンはありますか?

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

java - SimpleFactory、FactoryMethod、Abstract Factory (実例)

問題の問題が何度も取り上げられてきたことは知っているので、よく考えられているほど些細なことではないことは明らかです...

物事を明確にするために、同じファミリーの Bean と同じ概念を使用して、3 つの異なる実装 (単純なファクトリ、ファクトリ メソッド、抽象ファクトリ) の例を作成すると考えました。

次の例についてどう思いますか。あなたはそれらが明確で正しいと思いますか?

すべての例で、このファミリーの Bean を使用します

シンプルファクトリー

工場方式

アブストラクトファクトリー

抽象ファクトリの例では、これらの Bean を追加しました

そして、ここに抽象ファクトリの例があります

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

c# - 以下の設計は有効な抽象ファクトリ設計ですか?

C# でのコード

  1. これは有効な抽象ファクトリですか?
  2. これよりも別のデザインパターンの方が良いと思いますか?
  3. 簡単にするために、3 つの部分だけを追加しました。他にパーツが少ないときは、'Builder' パターンと Abstract Factory を組み合わせて Car オブジェクトを作成しますか?
0 投票する
2 に答える
741 参照

design-patterns - 抽象的な工場とファサード、共同設計パターン

ファサード パターンのドキュメントでは、関連するパターンの説明に次のステートメントが表示されます。

「Abstract Factory を Façade と共に使用して、サブシステムに依存しない方法でサブシステム オブジェクトを作成するためのインターフェイスを提供できます。」

このように、Façade で Abstract Factory を使用するにはどうすればよいでしょうか?