問題タブ [factories]

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 に答える
1468 参照

ruby-on-rails-3 - Factory Girlとrandom_dataを使用してseed.rbでデータを適切にランダム化する方法は?

すべての依存関係 (特にポリモーフィズム) を説明するモデルに十分な数のレコードを作成する単純なスクリプトをデータベースに入力することで、テスト データの生成を最初に試みました。

これは私のseeds.rb

例として、question工場を次に示します。

Randomクラスは1 つのランダムな用語を生成しますが、その用語は作成されたすべてのインスタンスで同じままです。この場合、「スペインで旅行するのに最適な場所はどこですか?」などの 50 の質問が表示されます。そして、それぞれに同一の 2 つのテキスト パラグラフがあります。

私は何が欠けていますか?

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

c# - C#静的メソッドとオブジェクトインスタンス

私は現在、C#MVC REST Web APIを開発しており、設計の2つの可能性のいずれかを選択しようとしています。

設計に深く入り込むことなく、データアクセス用のクラスを作成する予定です。これをと呼びますDataSourceDataSource適切な応答を正しく構築するには、それぞれに含まれる小さなロジックブロックを実行する必要があります。将来的にコードをホットロードできるようにしたいので、単にこれらの関数をオンDataSourceにするのではなく、他のアセンブリによって提供されるようにします。これの概念実証が実装されており、これまでのところ、非常に優れています。

私が決定しようとしているのは、単一の静的ExecuteQuery関数を使用して静的クラスを作成するか、ファクトリメソッドを作成して、と呼ばれるインスタンスメソッドを持つこれらのクラスのインスタンスを作成することExecuteQueryです。

リクエストごとに複数の短命のオブジェクトを作成することと、静的メソッドを呼び出すこととの間のパフォーマンスに関する考慮事項は何ですか?

直感的には、静的メソッドの方が高速ですが、(ホットロードされたコード要件をサポートするために)リフレクションを介して静的メソッドを呼び出すのは少し頭痛の種になるとすでに予想しています。

短命のオブジェクトに大きなペナルティがない場合、単純さだけで勝つ可能性があります。

予想される負荷に関する関連情報:

  • 300ms〜800msの範囲の応答時間
  • 約2000のWebクライアントの平均負荷
  • 約4000クライアントのピーク負荷
  • 2〜5秒ごとにクエリを実行するクライアント
  • 毎秒1クエリのクライアントピークレート

また、それぞれDataSourceが最大8つ、平均3つのこれらのインスタンスを作成します。

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

unit-testing - ユニットテストの保守性と工場

編集:同じ方法を使用してインスタンスを作成するのは良いことですが、他のことを諦めて問題を複雑にしているため、アイデアを完全に捨てることにしました。

私の単体テストプロジェクトには、基本的に、以下のような単体テストのすべてのファクトリクラスを含むフォルダがあります。

これが私のユニットテストのサンプルです。

これは、単体テストをクリーンに保ち、テストに集中するのに役立ちます。他の人がこれをどのように処理し、テストをクリーンに保つために何をしているのか疑問に思っています。

アップデート:

アドロニウスに応えて、私はこれらの工場を減らすことを目指しているもののプロトタイプで私の投稿を更新しました。

主な懸念事項は、インスタンスを作成し、ファクトリクラスの数を減らすために、テスト全体でまったく同じ構文を使用することです。

次に、これを拡張して、このようなパラメーターを取得できます。

実装は次のようになります。

そしてついにこのように使えるようになりました。

それが機能しているかどうかはわかりませんが、それは私の主張を示すために投稿のために作成した概念にすぎません。人々はそれについてどう思うのでしょうか。何か提案や何かがあれば、私はそれについて聞いてうれしいです。

私は車輪の再発明が好きではないので、あなたがより良いアプローチを持っているなら、私もそれについて聞きたいです。:)

0 投票する
0 に答える
184 参照

ruby-on-rails - ミニスカ工場で協会を作るには?

私は minitest でテストを書いており、miniskirt を使用して Rails アプリのファクトリを処理しようとしています。ユーザー モデルと他のモデルとの関連付けを作成するのに問題があります。ミニスカに工場少女のようなものがないのでFactory#association、どうやって交際をつくっていますか?私はこれを試しています:

ただし、次のテストは次のように失敗し続けますValidation failed: User can't be blank

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

c# - インターフェイスを使用してC#でジェネリックを削除する方法は?

私は現在、各クラスが別の構造の対応するレベルからオブジェクトを返すことができるように、メソッドの戻り値の型がオープンジェネリックとして残されている継承構造を持っています。たとえば、ProduceVehicle TVehicle ができる TVehicle:Vehicle の VehicleFactory があるとします。TVehicle:Car の CarFactory:VehicleFactory もあります。

Car は Vehicle から継承するため、これはすべて有効であり、CarFactory は Car を生成する必要があり、Vehicle ファクトリはあらゆる種類の車両を生成できることを知ることができます。私が遭遇した問題は、VehicleFactory が Ford によって実行されているときは CarFactory としてインスタンス化する方法が必要なことですが、Wave Runner によって実行されているときは BoatFactory としてインスタンス化する方法が必要です。

これは、VehicleFactory の機能に一致するインターフェイスを作成し、IVehicleFactory を返す MakeFactory メソッドを作成することで実現できると考えました (非ジェネリックに車両を返します)。CarFactory は車両である車を返すため、インターフェイスを満たし、すべてが正しいはずです。予期しない問題は、TVehicle が Vehicle でなければならないという事実にもかかわらず、VehicleFactory が TVehicle が Vehicle であるとして閉じられているインターフェイスに適合しないことです。

これがなぜなのか、またはこの制限を回避する別の方法があるのか​​ 誰かが知っていますか? この制限を直接回避する方法がない場合、機能の共有セットを使用して、より具体的なクラスの 2 つ以上のセットの 1 つとして常にインスタンス化されるようにする代替方法はありますか。(Vehicle は共有レイヤーで、Car と Boat はコンテキスト固有のレイヤーです。)

そしてそれを使ったコード

問題を明確にするために、さらに詳細を追加します。

ファクトリという用語の使用は、ファクトリ パターンを意味するものではありません。これは、実際には「車両」を取得するリポジトリです。車両のタイプは、共通の共有基本コードを持つライブラリのアプリケーション固有バージョンです。Car および Boat の各アプリケーションのリポジトリは、同じ取得に対して異なるロジックを持つ場合があり、オブジェクトの Car または Boat バリアントのフィールドに依存する場合があります。車両レベルの共有コードがアプリケーション固有のオーバーライドされた機能を適切に使用するように、現在のアプリケーションのコンテキストを見て適切なリポジトリ (BoatFactory または CarFactory) を返すことができるファクトリを構築する方法が必要です。

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

session - Symfony2 でのフロントエンドとバックエンドの同時セッション

Symfony2 でフロントエンド インターフェイスとバックエンド インターフェイスの 2 つの異なるセッションを作成することは可能ですか。

現在、バックエンドからログアウトすると、フロントエンドとバックエンドのセッションがすべて一緒に破棄されます。

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

ruby-on-rails - Rails: ファクトリで定義済みのトレイトを取得する

私は次の工場を持っています:

この線:

エラーをスローしています:

私の意図は、以前に定義された特性 "membership" が "accepted" に設定されているかどうかを確認することです。ただし、その特性にアクセスする方法がわかりません。任意のヒント?

別の注意として、さまざまな特性が割り当てられる変数 (この場合は「f」) がある限り、ファクトリの作成はフォームの作成に似ています。これらのタイプのコード ブロックを説明する言葉はありますか?

更新: after_build 呼び出しを使用するようにファクトリを変更しましたが、次のエラーが発生しています:

更新されたコードは次のようになります。

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

php - ドメインオブジェクトファクトリはどのように見えますか?

私は持っています、DataMapperFactoryそして私はそれを正しくやっていると思います、そしてそれを持っていることは理にかなっています、しかし私も持っていDomainObjectFactoryます、しかしそれはただ無意味に思えます。これだよ:

これについて私が見ることができる唯一の利点はnew、コード全体にオペレーターが存在しないようにしていることです。

DomainObjectFactoryこの権利以上のものが必要ですか?

どんな助けでも大いに感謝します。

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

domain-driven-design - DDD - ファクトリの実装方法

ドメイン駆動設計で工場を実装する方法を知りたいです。(例)

ファクトリのインターフェイスと実装はどこに配置する必要がありますか? ファクトリが作成する Domain オブジェクトのインターフェイスを作成する必要がありますか? リポジトリ、サービスなどのファクトリを作成する必要がありますか?

Dependency Injection Containers を使用していますが、それらを factory と組み合わせるにはどうすればよいですか?

ありがとう。

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

php - Google マップ API ライブラリ (codeigniter) を使用して自社の工場を地図上に表示するにはどうすればよいですか?

自分の場所を指定するにはどうすればよいですか? 私は、人々が自分の郵便番号を使用して特定の半径内の工場を検索できる Web サイトに取り組んでいます。

これらの工場を追加して、郵便番号と半径を設定できるようにしたいと思います。その半径内の工場が地図上に表示されます。

codeigniter 用の Google マップ API ライブラリをまだ学習および発見しているため、まだ何も試していません。ライブラリでジオコーディングについて読んだことがあります。しかし、それをどのように使用するのですか?ジオコーディング用に作成されたデータベースがありません。

私が使用しているライブラリ: http://biostall.com/codeigniter-google-maps-v3-api-library