問題タブ [domain-model]

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

zend-framework - Zend_Paginatorと設計の問題、ドメインモデル

Matthew Weier O'Phinneyがzendクイックスタートガイドで説明しているようなファットモデルのシンコントローラーアプローチを使用してアプリケーションを設計しようとしていますがBill Karwin's blog note、現在、を使用してページネーションを実装しようとしてZend_Paginatorいますが、見つかったすべての例がに基づいているため、問題が発生します単純に拡張するモデルZend_Db_Table

現時点Zend_Paginator_Adapter_Arrayでは、モデルの配列(データベースのすべてのレコードではなく範囲)を含むものを使用していますが、問題は、全体的なアイテム数を設定できないことだけです。

誰かが私にどのアプローチが正しいかアドバイスを与えることができますか?カスタムページネーションアダプターを作成する必要がありますか、それとも実際のデザインを変更してzend_db_tableに基づくモデルを使用する必要がありますか?

ご挨拶

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

web-services - CXF WebServiceクライアントの生成:既存のドメインモデルクラスを使用する

GUI(JSF 2.0、Orchestra、Spring)およびサービス(Spring、JPA、Hibernate、...)プロジェクトで分離されたWebアプリケーションがあります。Webサーバーとデータベースサーバー間のネットワークの問題のため、データベースサーバーに近いサービス部分のために、アプリケーションをレイヤー間で完全に分割し、2つの異なるtomcatにデプロイする必要があります。EclipseWTPCXFプラグインを使用してWebサービスとWebサービスクライアントを既に生成しました。

私の問題は次のとおりです。クライアントの場合、ドメインモデルクラスのコピーが生成されるため、GUIプロジェクトで直接使用することはできず、WebサービスクライアントとGUIレイヤーの間に変換レイヤーを導入する必要があります。Wichは面倒で、エラーが発生しやすいです。

共有ドメインモデルを使用して(既存のWebサービスモジュールとwsdlから)Webサービスクライアントを生成する可能性はありますか(モデルクラスは別のプロジェクトにあり、サービスとGUIの両方のプロジェクトが依存しています)?

展開期限が迫っているので、必死に解決策を探しています...

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

php - ドメインモデルまたはドメインオブジェクト? - 定義

私が間違っている場合は、私を修正してください。

以下を表すドメイン モデルと言えます。

a) MVC 構造の M 部分。M 部分にはドメイン駆動設計パターンが適用されています。

b)実体、それらの属性、および特定の方法での関係のスキーム。MVC の M 部分を表すこともできますが、この場合、使用されるパターンに関係なく。

c)「ドメイン モデルが相互接続されたオブジェクトのウェブを作成する」ドメイン モデル デザイン パターン。

d)ドメイン オブジェクトとして (たとえば、特定のドメインに関する MVC モデルのオブジェクトである可能性があります)。

d)はb)と同じだと言えますか?

どうもありがとう。

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

php - モデル構造で必須のビジネスフィールドを表す方法は?

タイプヒントを使用する場合、オブジェクトを必須にすることができます。

すべてのオブジェクトではなく、その属性の一部のみを必須にする場合はどうなりますか?特定のドメインをより適切に表す場合、ドメインモデルがより適切であると仮定しましょう。これが、(ドメイン上の)ビジネスモデルでより理にかなっている場合はどうでしょうか。どうすればいいですか?

何があっても常にALLオブジェクトを配置する必要がありますか?


明確化のための例は以下を提案します:

特定の著者の本を一覧表示するために、次の方法があると想像してみてください。

ここで、authorオブジェクトに200ほどのプロパティがあると想像してみましょう。ただし、本のリストを処理するには、名前と名前だけ必要です。

とにかくALL$authorオブジェクトを受け取る必要がありますか?

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

orm - Unit Of Work および Repository パターンの実用的な使用法

私は ORM を構築しており、各パターンの正確な責任を見つけようとしています。Unit Of Work を使用して 1 つのデータベース トランザクションで更新を管理し、2 つのアカウント間で送金したいとします。次のアプローチは正しいですか?

  1. リポジトリから取得する
  2. それらを自分の作業単位に添付します
  3. ビジネストランザクションとコミットを行いますか?

例:

この例のように、作業単位とリポジトリを個別に使用する必要があります。または、次のようにします。

  • Unit Of Work は内部でリポジトリを使用し、オブジェクトをロードする機能を持つべきですか?
  • ...または、リポジトリは内部で Unit Of Work を使用し、読み込まれたエンティティを自動的にアタッチする必要がありますか?

すべてのコメントは大歓迎です!

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

nhibernate - モノラル、モノタッチ、ASP.NETMVCのORM

ASP.NET MVC Webアプリ、WinFormsアプリ、MonoTouchiPadアプリの間でエンティティを再利用するアプリケーションを計画しています。

ORMとして(Fluent)NHibernateを使用することを検討しましたが、WinFormsで使用するエンティティを設計する場合、iPadアプリを作成するときに、エンティティを複製し、iPadでSQLLite用に再マップする必要があるのではないかと心配しています。 (MonoTouchにはNHibernateはありません)。

私が逃げることができるORMはありますか?

  1. 同じエンティティを使用する(これは、Fluent NHibernateに従ってエンティティがマッピングから抽象化されている場合に可能になるはずです)
  2. 同じマッピングを使用する(これはおそらく達成するのが難しく、それほど重要ではありません

前もって感謝します。

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

c# - ビジターパターンを使用してフラットDTOからオブジェクトグラフを作成する

私は、次のようなオブジェクトグラフを使用して、シンプルで小さなドメインモデルを作成しました。

この構造は、私が使用しなければならないレガシーデータベースと完全に対立しているため、顧客グラフの各要素のデータを含むフラットDTOを定義しました。データベースにビューとストアドプロシージャがあり、これにより、このフラットな構造を両方向に使用してデータを操作するには、これはすべて正常に機能し、ダンディです:)

挿入/更新のためにドメインモデルをDTOにフラット化するのは簡単ですが、私が問題を抱えているのは、DTOを取得し、そこからドメインモデルを作成することです...私の最初の考えは、顧客グラフを作成し、必要に応じてDTOから値を挿入します。これは、次のようなものです。

それは理論であり、それが単純にそのようにレイアウトされているとき、それは健全な考えのように思えます:)

しかし、これが機能するためには、訪問者のermが訪問する前に、オブジェクトグラフ全体を構築する必要があります。そうしないと、NREが左右中央に表示されます。

私ができるようにしたいのは、訪問者が各要素を訪問するときにグラフにオブジェクトを割り当てられるようにすることです。目標は、DTOでデータが欠落しているオブジェクトの特殊なケースパターンを利用することです。

私は正直にそれがうまくいくと思っていましたが、C#は私にエラーをスローします:

この方法でref/outパラメータを渡すことはできないので:(

したがって、独立した要素にアクセスし、完了したらグラフを再構築する必要があります。

この時点で、私はビジターパターンからかなり離れていて、ファクトリーにはるかに近いことを認識しており、最初からこのことに間違ってアプローチしたのではないかと考え始めています。

他の誰かがこのような問題に遭遇しましたか?どのようにしてそれを克服しましたか?このシナリオに適したデザインパターンはありますか?

そのようなお粗末な質問を投稿して申し訳ありません、そしてこれまで読んでくれてよくやった:)

編集FlorianGreinacherとgjvdkampからの有益な回答に応えて、私は次のような比較的単純なファクトリ実装に落ち着きました。

次に、データレイヤーとドメインモデル間の相互作用を処理するModelMediatorクラスを作成しました...

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

oop - ドメイン モデルと OO ドメイン モデルの違いは何ですか?

ドメイン モデルは、アプリケーションの問題ドメインをキャプチャするために使用されると言われています。それが必要な要件などです。しかし、多くの場合、これらのモデルは、実装段階でクラスとして判明する可能性があるものに非常に近いものです。

しかし、オブジェクト指向ドメイン モデルと呼ばれるものもあり、「問題ドメインのデータ抽象化」を捉えると言われています。「問題領域のデータ抽象化」という言葉は、「分離可能な問題領域の層」と理解しています。

この場合、ドメイン モデルと OO ドメイン モデルの違いは何ですか? どちらもほぼ同じものを捉えていますね。

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

json - Java EE-ドメインモデルオブジェクトをビューに渡す前にフォーマットするための正しいレイヤーは何ですか?

私は典型的な階層化アーキテクチャを備えたWebアプリケーションを開発しています。

データベースからドメインモデルオブジェクトを取得するDAOレイヤー。

このレイヤーは、これらのオブジェクトを使用して一部のビジネスオペレーションを実行するサービスレイヤーと通信します。

Webレイヤー(Spring Controllers)は、サービスレイヤーを使用して、ドメインモデルオブジェクト(またはそれらのコレクション)を取得し、それらをビューレイヤーに渡します。

ビューレイヤーは、JSTLを使用してデータを表示する単純なJSPか、JSONオブジェクト(Jacksonライブラリを介してJSONに変換されたドメインオブジェクト)の形式でAJAXを介してデータの一部を取得するJSPのいずれかです。

私は次のことについて研究してきました:

ユーザーに表示するために、dbフィールドを別の形式に変換する必要があることがよくあります。たとえば、日付がタイムスタンプとして保存されていて、フォーマットされた日付(dd / mm / yyyyなど)として表示したい場合があります。

また、逆のことを行う必要があります。値(通常はユーザー入力)をドメインモデルオブジェクトのプロパティの形式に変換します。

私の質問は、この種の変換をどこで行うべきかということです。特にJSONデータの場合、AJAX応答で既にフォーマットされている必要があります。Javascriptでフォーマットする必要があるとは思いませんが、正しいですか?

前もって感謝します。

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

c# - ユーザーではなく企業に基づく複雑なドメインモデル

私のWebアプリケーションにアクセスできる会社はいくつかあります。

さまざまな種類の会社:

クライアントサプライヤーエージェント

それぞれがデータベースに独自のテーブルを持ち、メインテーブルCompanyにリンクされています。メインテーブルCompanyは、アドレス、電話、電子メール、TypeOfCompanyなどのすべての一般的なデータを関連するテーブル(クライアントなど)にFKで格納します。

アプリ全体でこのOOを処理するための最良の方法は何ですか?

私は現在次のようなことをしています:

次に、そのクラスから継承し、追加のプロパティを追加します。

しかし、私はそれが時々問題になると感じています

  1. サプライヤーユーザーがアクセスしたい:AllCompanies、-すべての会社のリストを表示
  2. 次に、Supplier Companyのユーザーが特定の会社の詳細を表示したいのですが、それがクライアントの場合、ClientDTOまたはSupplierDTOを表示する必要がありますか?この例では、特定の企業に詳細を示したいと思います

これを処理するための最良の方法は何でしょうか?

たとえばGetCompanyByID(int companyid);GetClientByID(int clientid);両方のインスタンスでクライアントの詳細が必要だと仮定して、両方のインスタンスでどのタイプのオブジェクトを返す必要がありますか。