問題タブ [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.
.net - ファクトリクラスはどの名前空間に属しますか?
ファクトリクラスがあります。DocumentLoaderFactory
これは、インターフェイスを実装するインスタンスを返すだけIDocumentLoader
です。
すべての実装は、次の名前空間の下にあります
Skim.Ssms.AddIn.ActiveFileExplorer.Loader
しかし、私が疑問に思っているのは、どの名前空間がDocumentLoaderFactory
属しているのかということです。今のところ、ファクトリクラスを名前空間の下に配置しましたが、以下に示すように、親名前空間の*.Loader
ユーザーコントロール()から使用されています。ActiveFileWindow
Skim.Ssms.AddIn.ActiveFileExplorer
*.Loader
ファクトリメソッドをその親名前空間内またはその親名前空間に配置することの長所と短所は何でしょうか?賛否両論に応じて決めたいと思います。
これが私のプロジェクトのレイアウトです
c# - 基本クラスを初期化するために派生クラスで使用されるファクトリを格納する方法は?
次のように、建設後もファクトリーに属している何らかの種類のファクトリー作成リソースがあると仮定します。
Resource
これで、コンストラクターで初期化するインスタンスを必要とする基本クラスができました。
このような基本クラスから派生したクラスはResource
、ファクトリへの参照を失わずに a を構築するにはどうすればよいでしょうか?
静的メソッドを使用する素朴なアプローチには、ファクトリを記憶する方法がありません (基本クラスの構築が終了した後にコンストラクターが取得できるように静的フィールドに格納する、または 2 段階の初期化を使用するなどの醜いハックを除くResource
) 。コンストラクターによって呼び出されたInitialize()
メソッドを介して基本クラスに与えられます)
考えられる回避策の 1 つは、名前付きコンストラクターのイディオムです。
ただし、ResourceManager
参照を格納する問題は解決されますが、DefaultFooificator
.
参照をさらに派生させたり、他の方法でDefaultFooificator
保存したりできるエレガントなソリューションはありますか?ResourceManager
c# - C# - ファクトリ メソッドから継承されたジェネリック コレクションを作成する方法
抽象ジェネリック コレクション クラスの派生インスタンスを作成するファクトリ メソッドを作成しようとしています。ここに基本クラスがあります...
...およびその派生クラス ...
ここで、ItemCollection を作成するファクトリ メソッドが必要です。ただし、派生クラス Item および ItemCollection は、このファクトリ メソッドを含むクラスには認識されないことに注意してください。これは私がそれがあるべきだと私が想像する方法です...
...そして、私はそれをこのように呼び出すことを想像します...
ただし、ItemBase にはパラメーターのないコンストラクターが必要なため、ファクトリ メソッドはコンパイルされません。そして、呼び出しは、ItemCollection
が から派生したものであると信じることを拒否しますCollectionBase<ItemBase>
。
誰かが私を正しい方向に向けることができますか? ありがとう。
java - オブジェクトの重複を避けるための静的ファクトリ メソッド
Joshua Bloch の「Effective Java Programming Language Guide」を読んでいました。
彼は、スタティック ファクトリ メソッドを使用して不要な重複オブジェクトを回避できると説明しています。
私はこれをよく理解していません。
誰でも説明できますか?
ruby-on-rails - Rails でフィクスチャを Factory Girl に変換する
フィクスチャを Rails の "Factory Girl" に移行したいと考えています。
factory.rb ファイル内のすべての yml ファイルを変換する簡単な方法はありますか?
java - ジェネリック ファクトリとマップ値
いくつかの異なる s に対して、Map
s からK
s までの sを持つクラスがあります。一般的なファクトリ ala を使用したい:Set<V>
V
のようなことをする
とのように、ジェネリック部分が機能します(コンパイルエラーが発生し、Set<Object>
との間の型が一致Set<V>
しません)Set<V> x = SetFactory();
Class<V>
に引数を渡す代わりの方法はありSetFactory()
ますか?
java - 単純に Bean を返すのではなく、ファクトリを使用することが不適切な設計選択となるのはどのような場合ですか?
私たちのアプリケーションは、オブジェクトを吐き出すためにファクトリを多用していますが、ファクトリが常に本当に必要なのか疑問に思うことがよくあります。また、「既知のオブジェクト」のインスタンスを Bean として作成する方が良いというわけではありません。引数は、開発者がこれらの返されたオブジェクト (インターフェイスの型で返される) の実装をカスタマイズしていることが多く、取得しているものを技術的に正確に「認識」していないため、ファクトリを使用することをお勧めします。インターフェース、クラスの実装、そしてファクトリーを必要とするファクトリーを作成する必要があるところです。ただし、オブジェクトは変更されません。実際には、特定の目的を持つ具体的なオブジェクトです...状態を取得および設定する Bean をインスタンス化するだけでよいのでしょうか? 私は時期尚早の一般化を避けようとしています。
java - Java:あるクラスを使用して別のクラスのオブジェクトを生成する
私には2つのクラスがあります。SpeciesReader
ファイルを取得して解析します。Species
ファイルから解析された種に関する特定のデータを格納します。
現在、私はメソッドを持っています:SpeciesReader.generateSpecies()
、それはオブジェクトを作成するためにインスタンス化されたファイルを使用しSpecies
ます。これは悪い習慣/デザインですか?Species
ファイル名を引数として取るコンストラクターにこれを移動する方法をどうにかして見つける必要がありますか?
c# - リポジトリ パターンとファクトリ メソッド パターンを使用してクラス/インターフェイスを整理する方法は?
より大きなプロジェクトで使用するため、リポジトリとファクトリメソッドのパターンを一緒に理解するためのサンプル、アプリケーションを作成しています。
私が達成したいのは、Web サイトをさまざまな ORM ツールで動作させることができるようにすることです。
たとえば、Web サイトには LINQ to SQL および Ado エンティティ フレーム ワーク クラスが実装されており、ファクトリ メソッドを使用すると、これらの ORM の 1 つを「構成値を使用して」使用してリポジトリ オブジェクトにデータをロードします。
私が今まで得たものは次のようなものです
しかし、デザインの間違いがたくさんあると感じています。より良いデザインを得るために、それを理解するのを手伝ってくれることを願っています.
java - Javaコンストラクタはサブクラスのオブジェクトを構築できますか?
コンストラクターで構築されているクラスを変更する方法はありますか?
基本的には、基本クラスのコンストラクターをファクトリメソッドとして使用したいと思います。Javaで可能ですか?