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

wcf - クラスに動的にイベントを追加するためにモッキング フレームワークを使用できますか?

次のインターフェースを検討してください。

これは、WCF サービスから「イベント」を受け取る WCF コールバックのコントラクトです。このインターフェースの私の実装は次のようになります

これにより、コールバックをインスタンス化し、クライアント コードで SomeEvent イベントをフックできます。サーバーがコールバックを呼び出すたびに、単純な古い .NET イベントを受け取ります。すべてがうまく機能します。

ここで質問があります。このコールバックの作成を自動化するファクトリ クラスを作成して、このアプローチをすべてのプロジェクトと任意のインターフェイスで簡単に再利用したいと考えています。ファクトリは次のように呼び出されます。

このクラスを動的に作成するためにモッキング フレームワークを使用することはできますか? それとも、実装ごとにコードを渡す必要がありますか? または、私が考えていない別のアプローチはありますか?

0 投票する
5 に答える
1104 参照

design-patterns - ファクトリはどのタイプのオブジェクトを作成するかをどのように認識しますか?

ファクトリ メソッドの設計パターンは、私がやろうとしていることには適していると思いますが、どの程度の責任 (それが作成するサブクラスの知識) を与えるべきかわかりません。ウィキペディアでファクトリ メソッド パターンを使用する例は、私がいる状況をほぼ正確に説明しています。

私の質問は、figureOutImageType関数がどのように見えるかです。この特定の例では、ファイル ヘッダーをチェックして、データがどの画像形式であるかを判断すると仮定します。ファイル ヘッダーを解析し、ファイル タイプが GIF か JPEG かを判断する方法を自身が知っているかどうかInputStreamを知りたいです。ImageReaderFactoryなど、または各クラス内で関数を呼び出して、Readerそれがどのタイプの画像であるかを知らせる場合。このようなもの、多分:

ファクトリに画像を解析する方法を知ってもらうとカプセル化が壊れてしまい、どの画像を作成するかをサブクラスに決定させるのは、ファクトリ メソッドの設計パターンの一部です。それでも、figureOutImageType関数が冗長なコードを追加しているようにも見えます。なぜなら、各サブクラスが関数InputStream内でチェックを実行しgetImageReader、switch ケースをスキップしないからです。

私は以前にファクトリを使用した経験がありませんでした。この問題を処理するための最善の方法について、過去にファクトリを使用したことがある人から洞察を得たいと思っていました。サブクラスの内部動作についてファクトリに知らせても問題ないでしょうか?それとも、どのサブクラスを作成するか、およびどのようにすべてを編成するかをファクトリに知らせる責任がありますか?

ありがとう!

0 投票する
4 に答える
25867 参照

java - ジェネリックを使用したJavaのファクトリメソッドパターン、方法は?

次のようなコードがあります。

さて、私はこのコードがにおいがすることを知っています..多くの理由があります。ただし、このコードもここにあります: http://java.sun.com/blueprints/corej2eeppatterns/Patterns/DataAccessObject.html、9.8 を参照

私がやろうとしているのはこれです:1)環境(システムプロパティ)に基づいて実行時にDAOの実装を切り替えます。2) 型キャストを回避できるように、Java ジェネリックを使用します...たとえば、次のようなことを行います。

とは対照的に:

あなたの考えや提案をお願いします。

0 投票する
4 に答える
2521 参照

java - Javaパターンクラスがコンストラクタではなくファクトリメソッドを使用するのはなぜですか?

一般的なケースでは、これについての良い議論があります。

しかし、なぜPatternクラスcompileがコンストラクターではなく静的メソッドを使用してオブジェクトを作成するのか、具体的に疑問に思っていました。

コンストラクターを使用する方が直感的であるように思えます。

0 投票する
7 に答える
3420 参照

oop - ファクトリ メソッドを介して特定のサブクラスに引数を渡す

抽象クラス Drink と、実行時に作成する Drink の種類 (Wine、Beer など) を選択するファクトリ メソッドがあるとします。

各 Drink は、それ自体を適切に初期化するためにいくつかの引数が必要です。これらのいくつかはすべてのドリンクに共通です。たとえば、それらはすべて DrinkConfig 引数を必要とする場合があります。

ただし、各ドリンクにも独自の要件がある場合があります。おそらく、Wine は自分自身を初期化するために Sommelier ヘルパー オブジェクトを必要とします。Beer はそれを必要としませんが、独自のヘルパー オブジェクトが必要な場合があります。

では、ファクトリ メソッドには何を渡す必要がありますか? これを呼び出すと、すべてのヘルパー オブジェクトが利用可能になるので、それらすべてをファクトリに渡すことができます。しかし、これは多くの議論になる可能性があります。これを設計するより良い方法はありますか?

編集:ファクトリでヘルパー オブジェクトを作成することはできないと仮定しましょう。それらは発信者からのみ利用できます。

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

python - コールバックメソッドのファクトリ-PythonTKinter

PIOラインをエミュレートするテストアプリを作成しているので、非常にシンプルなPython /TkGUIアプリがあります。数字のキー1〜8を使用して、PIOピン1〜8をシミュレートします。キーを押し下げる= PIO High、キーを離す=PIOがLowになります。私がそれを必要としているのは問題ではありません。ファクトリーを使用してキープレスコールバック関数を作成しようとして、うさぎの穴を掘り下げました。

これがいくつかの簡略化されたコードです:

私はついにコールバックのためにある種のメソッドファクトリを動作させましたが、それはあまり満足のいくものではありません。

だから私の質問は、私が試した方法でクラスメソッドを生成するクラスメソッドファクトリを作成できますか(コメントアウトされたコードとAppクラスメソッドcb_factory()を参照)?

注:はい、このアプリでは一度に4つのキーしか押せないことは知っていますが、私の目的にはそれで十分です。

0 投票する
5 に答える
6111 参照

java - ファクトリ メソッドを使用して Hibernate にオブジェクトを作成させることはできますか?

Hibernate でファクトリ メソッドをマップする方法はありますか (Hibernate がデフォルトのコンストラクターを呼び出し、プロパティまたはフィールドを反射的に設定するのとは対照的に)?

また、マップできない場合、Hibernate はクラスごとにカスタム オブジェクトを作成するためのフックを提供しますか?

ありがとう!

0 投票する
4 に答える
143 参照

language-agnostic - ファクトリによって返されるオブジェクトが静的な場合でも、ファクトリと見なされますか?

アプリケーションの起動時に、ログインしているユーザーに基づいて正しい DAL クラス (現在は 4 つ) のインスタンスを取得する必要があります。特定のユーザーが特定のデータベースからプル ダウンしています。

これらの DAL クラスのインスタンスをインスタンス化する代わりに、単に正しい静的インスタンスを返すだけの場合、それはまだ「ファクトリー」パターンと見なされますか? すべてのユーザーが共有できるため、これらのオブジェクトを継続的に作成する必要はありません。

疑似コード: