問題タブ [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.
java - Factory GirlのようなフレームワークはJava用に存在しますか?
Factory Girlは、テスト用のモデルのインスタンスを簡単に作成するためのレール内の便利なフレームワークです。
factory_girlを使用すると、各モデルのプロトタイプをすばやく定義し、手元のテストにとって重要なプロパティを持つインスタンスを要求できます。
例(これもホームページから):
ユーザーが必要な場合は、
これにより、明示的に指定したadminプロパティを除いて、ファクトリプロトタイプで指定されたすべてのプロパティを持つユーザーが生成されます。また、電子メールファクトリメソッドは、呼び出されるたびに異なる電子メールを生成することに注意してください。
Javaに似たようなものを実装するのはかなり簡単なはずだと思いますが、車輪の再発明はしたくありません。
PS:私はJMockとEasyMocの両方について知っていますが、ここではモックフレームワークについて話していません。
design-patterns - Factory デザイン パターンと Abstract Factory デザイン パターンの基本的な違いは何ですか?
Factory パターンと Abstract Factory パターンの基本的な違いは何ですか?
asp.net - クラスをユーザー コントロールのクラス ファクトリとして使用する方法はありますか?
.NET 2.0 でクラスをユーザー コントロールのクラス ファクトリとして使用する方法はありますか? 言い換えれば、1 つのスーパーがそこにあり、ユーザー コントロールが必要なときに、それを作成して返します。参照できないように見えるASP名前空間が必要なようです。
プレースホルダー付きのマスターページがあります。ユーザーの認証に応じて、ユーザー コントロールを動的に読み込みます。たとえば、認証されている場合は検索コントロールである可能性があり、ログインしていない場合は広告である可能性があります。それらを動的にロードできます。しかし、私の計画は、これを制御するために単一のクラスを使用することでした。現在、マスターページのコードビハインドにそれらをロードする必要があります。ユーザー コントロールを参照できないため、クラスに表示するコードはありません。
c++ - 「セルフファクトリー」パターン
これに正式な名前があるかどうかはわかりませんが、「セルフファクトリー」パターンと呼んでいるもので遊んでいます。基本的には、抽象基本クラスがそれ自体のファクトリとして機能する場合です。説明させてください:
私のシステムには Foo オブジェクトと Bar オブジェクトがあり、これらはインターフェース FooInterface と BarInterface を介して使用されます。クライアントに正しいタイプの Foo と Bar を提供する必要があります。どの具体的な Foo オブジェクトを作成するかは、コンパイル時に決定されます。たとえば、win32 でコンパイルする場合は Win32Foo オブジェクトのみを作成し、OSX でコンパイルする場合は OSXFoo オブジェクトのみを作成します。ただし、どの具体的な Bar オブジェクトを作成するかは、キー文字列に基づいて実行時に決定されます。
さて、私の質問は、このスキームを実装する最良の方法についてです。私が思いつく1つの方法は、通常の工場を使用します:
別の方法は、私が「セルフファクトリー」と呼んでいるものを使用することです:
ユーザビリティの観点とアーキテクチャの観点の両方から、各アプローチの長所と短所は何ですか?
ruby-on-rails - Factory Girl ファクトリーでテストするときに、AASM から :set_initial_state をオーバーライドするにはどうすればよいですか?
アップデート
以下、回答。リンク先のサイトが消えてしまった場合、mochaを使って初期状態をスタブし、上書きを防ぐことができます...
元の質問
私は現在、Acts As State Machine Rails Plugin を実行しており (ちなみに、大幅に時間を節約できました)、Factory Girl でそれを使用する際にいくつかの課題があります (これも素晴らしいことです)。
Factory でオブジェクトを作成するときに、オブジェクトの状態を設定できるようにしたいと考えています。この質問の一般化された言い方は、「ファクトリでオブジェクトを作成するとき、どのようにクラス メソッドを呼び出しますか?」です。
いつでも t.activate! を呼び出すことができます。メソッドをすべてのテスト内で使用しますが、これによりテストが脆弱になります。このメソッドを Factory 作成レベルで実行するか、factory.rb 内で設定する方法を探しています。
ありがとう...
unit-testing - 戻り型として具象クラスを持つユニットテストファクトリメソッド
だから私はファクトリクラスを持っていて、ユニットテストが何をすべきかを考えようとしています。この質問から、返されるインターフェイスが、私が期待する特定の具体的なタイプであることを確認できました。
工場が具体的なタイプを返しているかどうかを確認するにはどうすればよいですか(現時点では、インターフェイスを使用する必要がないため)?現在、私は次のようなことをしています。
これに伴う問題は、がAssert.IsNotNull
やや冗長に見えることです。
また、私のファクトリメソッドは、次のようにその特定のクラスの依存関係を設定している可能性があります。
そして、ファクトリメソッドがこれらすべての依存関係を正しく設定していることを確認したいと思います。public/internal
これを実行して、単体テストでチェックする依存関係プロパティを作成する他の方法はありませんか?(私はテストに合うようにテスト対象を変更することの大ファンではありません)
編集:Robert Harveyの質問に答えて、私はユニットテストフレームワークとしてNUnitを使用しています(しかし、それがあまり大きな違いを生むとは思わなかったでしょう)
c++ - ファクトリ パターンとコードの柔軟性を組み合わせるにはどうすればよいですか
同じ階層に異なるクラスを作成するファクトリ関数を検討しています。通常、ファクトリは通常次のように実装されることを理解しています。
さまざまな条件をハードコードする必要がないように、プロセスを自動化できる方法を考えようとしています。
これまでのところ、私が考えることができる唯一の方法は、マップとプロトタイプ パターンを使用することです。
マップは、最初の要素に型文字列を保持し、2 番目の要素にクラス インスタンス (プロトタイプ) を保持します。
関数は次のようになります。
残念ながら、プロトタイプ メソッドは引数をサポートしていないため、ファクトリによって作成されるクラスを毎回同じにしたい場合にのみ機能します。
いい方法でそれを行うことが可能かどうか誰かが知っていますか、それともファクトリ関数にこだわっていますか?
delphi - ジェネリックファクトリー
TModelがあるとします。
および2つの子孫:
と工場:
今、私は少しリファクタリングしたいと思います:
これまでのところ問題ありませんが、子孫を作成するたびに、ファクトリステートメントTModel
を変更する必要があります。case
私の質問:これにより、すべてのTModel
子孫に対して100%汎用ファクトリを作成できるので、子孫を作成するたびTModel
に変更する必要はありませんTModelFactory
か?
Delphi 2009ジェネリックを試してみましたが、貴重な情報が見つかりませんでした。すべて、の基本的な使用法などに関連してTList<T>
います。
更新 申し訳ありませんが、私はあなたの答えがはっきりしていないか理解していないかもしれません(私はまだ初心者です)が、私が達成しようとしているのは:
c# - ジェネリック型 C# に従ってオブジェクトを作成するファクトリ
たとえば、Factory クラスに渡されるジェネリック型に従ってオブジェクトをインスタンス化する最も効率的な方法は次のとおりです。
どのようにしますか?どの分岐ステートメントですか? 等...