問題タブ [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.
design-patterns - MVC パターンと抽象ファクトリ
私の主な問題は、従業員、タスク、プロジェクト、および部門エンティティに関する情報を含むデータベース サーバーとの通信を実装することです。どのエンティティが DB に含まれるかは事前にわかりません (つまり、新しいタイプのエンティティ (会社など) を DB に追加することが可能です)。次の 3 つの抽象Javaクラスを作成するように MVC を実装します。
このクラスを次のように抽象ファクトリにラップしたことは理にかなっていますか?
android - サードパーティのフレームワークなしで Android アクティビティをテストするときに依存関係を挿入する方法は?
CommentActivity
通常は のインスタンスを構築して使用するAndroid アクティビティをテストしたいと考えていますCommentsDataSource
(どちらも私が作成したクラスです)。
私はMockCommentsDataSource
自分で作成したいと考えており、サードパーティのモック フレームワークの使用を避けたいと考えています。(なぜですか?私は、学期に詰め込む必要がある情報の量と、生徒がインストールする必要のあるソフトウェアの量を削減しようとしているためです。Guice、roboguice、Spring を推奨する他の投稿を見たことがあります。)
私の質問は、アクティビティにCommentsDataSource
(または) を渡す方法です。それらをorにするのは実用的ではMockCommentsDataSource
ないようです。デバッグ フラグを簡単に渡すことはできますが、それを使用するにはについて知る必要があります。これは実際には (別のアプリケーションでは) 関係ありません。Serializable
Parcelable
Intent
CommentActivity
CommentActivity
MockCommentsDataSource
にどのように注入すればよいMockCommentsDataSource
ですCommentActivity
か? FWIW、私はEclipseを使用しており、最近のSDKバージョン用に開発しています。
私が思いつく解決策の 1 つは、抽象ファクトリ パターンを使用することです。ファクトリをシリアライズ可能にするのは比較的簡単だからです。私の制約を考えると、それが最善のアプローチですか?
objective-c - ココアのクラスクラスタと抽象ファクトリの違い
Obj-C クラス クラスタは抽象ファクトリの実装であると読みました。
設計パターンとして2つに違いがあるかどうか、誰でも説明できますか。クラス クラスタには、従来の抽象ファクトリには適用されない特定の制限があることをどこかで読みましたが、詳細は示されていません。
c# - 抽象ファクトリを実装しようとすると、オブジェクト参照がオブジェクトに設定されません
Unity で初めてのゲームを開発しており、Abstract Factory
パターンを適用してゲームのモンスターを作成しようとしています。すべてのモンスターが実装する必要があるインターフェイスがあります。
私は具体的なモンスターを持っています
そして、後で具体的な Monster オブジェクトをランダムに作成できるように、新しい Monster オブジェクトを返すメソッドを持つ Factory クラスを作成したいと考えています。私は次のように書いた:
そして、私はこのファクトリーをメインで次のように使用しようとしています:
ゲームを実行しようとすると、次のエラーが表示されますNullReferenceException: Object reference not set to an instance of an object
。
java - コマンドライン引数に基づいてサブクラス オブジェクトを作成する最良の方法
スーパークラスを拡張するいくつかのサブクラスがあり、コマンド ライン インターフェイスのユーザーが使用するサブクラスを選択できるようにしたいと考えています。すべてのサブクラスは同じコンストラクタ形式を持ちます。
たとえば、 を呼び出せるようにしたいのですがrun --subclass=Subclass1
、結果として が呼び出されSubclass obj = new Subclass(arg1, arg2)
ます。これを行う方法はいくつか考えられますが、このパターンが頻繁に出てくるので、標準的な方法または受け入れられている方法があると思います。そうでない場合は、最もエレガントでシンプルなことをしたいと考えています。
これが私の現在の提案です(Namespace
コマンドライン引数を含むオブジェクトがあると仮定します):
サブクラスのコンストラクターがすべて引数を取らない場合、これは a を使用せず、Constructor
を実行することで簡素化できますreturn classMap.get(namespace.get("subclass")).newInstance();
。1 つの欠点は、ここまたは上流で処理する必要があるいくつかの例外 ( InstantiationException
、IllegalAccessException
、NoSuchMethodException
、 ) のいずれかをスローする可能性があることに注意してください。InvocationTargetException
これは合理的ですか?それは最善の方法ですか?使用する標準パターンはありますか?
java - SimpleFactory、FactoryMethod、Abstract Factory (実例)
問題の問題が何度も取り上げられてきたことは知っているので、よく考えられているほど些細なことではないことは明らかです...
物事を明確にするために、同じファミリーの Bean と同じ概念を使用して、3 つの異なる実装 (単純なファクトリ、ファクトリ メソッド、抽象ファクトリ) の例を作成すると考えました。
次の例についてどう思いますか。あなたはそれらが明確で正しいと思いますか?
すべての例で、このファミリーの Bean を使用します
シンプルファクトリー
工場方式
アブストラクトファクトリー
抽象ファクトリの例では、これらの Bean を追加しました
そして、ここに抽象ファクトリの例があります
c# - 以下の設計は有効な抽象ファクトリ設計ですか?
C# でのコード
- これは有効な抽象ファクトリですか?
- これよりも別のデザインパターンの方が良いと思いますか?
- 簡単にするために、3 つの部分だけを追加しました。他にパーツが少ないときは、'Builder' パターンと Abstract Factory を組み合わせて Car オブジェクトを作成しますか?
design-patterns - 抽象的な工場とファサード、共同設計パターン
ファサード パターンのドキュメントでは、関連するパターンの説明に次のステートメントが表示されます。
「Abstract Factory を Façade と共に使用して、サブシステムに依存しない方法でサブシステム オブジェクトを作成するためのインターフェイスを提供できます。」
このように、Façade で Abstract Factory を使用するにはどうすればよいでしょうか?