問題タブ [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.
php - ドメイン モデルを PHP セッションに保存する
ドメイン モデルのオブジェクトを PHP セッションに保存するのは良い方法ですか?
これにより、PHP リクエストごとにすべての PHP オブジェクトを照会して再構築することを回避できます。
サイズ制限はありますか?
c# - ベストプラクティス:ドメインモデルとプレゼンテーションモデル間のマッピングにAutoMapperまたはLINQ(LINQ to Objects)を使用する場合の長所と短所
どう思いますか?ドメインとプレゼンテーションモデルをどのようにマッピングしますか?
php - リッチ ドメイン モデルのどこにロジックを配置するか
ウェブサイトのいくつかのページに最新ニュースとして表示するテキスト、画像などを含むモデル「ニュース項目」があります。この「ニュース記事」は、Twitter や Facebook にも投稿できます。ニュース アイテム モデル内にメソッド post を実装し、さまざまな投稿実装を戦略として注入することはクリーンですか? それとも、これには別のアプリケーション サービスを用意したほうがよいのでしょうか。
ありがとう
.net - ドメインオブジェクトごとにインターフェイスを作成することをお勧めしますか?
nHibernateを使用する既存のプロジェクトのソースコードを調べたところ、エンティティクラスごとに作成されたインターフェイスがあることがわかりました。例:CustomerクラスのICustomer 。ICustomerには主にプロパティが含まれており、メソッドはほとんど含まれていないため、このパターンの利点は何でしょうか。
nhibernate - NHibernate: ベース ドメイン エンティティを完全にオーバーライドする
と がある状況がCommon.Domain.Person
ありSpecific.Domain.Person
ます。
最初の 1 つは、共通パッケージの一部として提供する必要があります。
2 つ目は、特定のプロジェクトのニーズに合わせて共通パッケージをカスタマイズする必要がある場合に表示されます。
オブジェクト モデルでは、継承を使用して簡単に実装できます。
ただし、NH マッピングでは、小さな問題に遭遇しました。
NHibernate<subclass>
マッピングを作成できますが、それにはディスクリミネーターを使用する必要があります。ただし、特定の人物クラスが継承された場合、この特定のプロジェクト内で共通クラスのインスタンスが使用されることはありません。
基本クラスに識別子列を追加せずにこれを実装する最良の方法は何ですか?(区別する別のケースがないため)?
oop - ドメインモデルの特殊化階層
管理システムのドメインモデルを作ろうとしています。このシステムには次のような人がいます。
、をUser
どこから定義することにしました。さて、どのような専門階層から選ぶべきかわかりません。次の方法のどちらかを決めることはできません。Employee
Manager
Top Manager
また
どちらが望ましいのか、そしてその理由は?
長年のコーダーとして、私はドメインモデルを実行しようとするたびに、これをどのようにコーディングするかを考えようとするという考えと戦わなければなりません。私が理解したことから、私はドメインモデルでそれらの問題について考えるのではなく、オブジェクトの関係でのみ考える必要があります。ここでは、コードの重複やこれらの種類の詳細について考える必要がないため、他のオプションよりも実際にオプションを選択することはできません。
ありがとう
編集:
もう少し明確にします。これは、労働者の休暇計画を管理するためのプログラムです。このプログラムでは、従業員はその年の休暇のセットを選択できます。次に、マネージャーは各従業員のその日を承認するかどうかを決定し、1日の終わりに、トップマネージャーはマネージャーの決定を承認または却下する必要があります。これは私のプログラムのすべてのユーザーができるはずです。他のタスクはありません。
c# - アクターをドメイン モデル/クラス図に配置する必要がありますか?
ドメインモデル図とクラス図の両方を設計するとき、何を入れるべきか理解するのに苦労しています。
私が言いたいことの例を挙げます:
Administrator
とを持つ休暇スケジューラ プログラムを実行していEnd-Users
ます。は、プログラムへのAdministrator
登録、特権の変更などのいくつかのことを行います。休暇の日などを選択できます。End-Users
End-User
最初に and をドメイン モデルの概念として定義しAdministrator
、End-User
後でクラス図のクラスとして定義しました。クラス図では、両方のクラスが次のようないくつかのメソッドを持つことになりました
等
しばらくして、実際にはAdministrator
との両方End-User
がアクターであることに気付きました。おそらく、このデザインは完全に間違っていたのでしょう。管理者クラスとエンド ユーザー クラスにユース ケースの要求を実行するためのメソッドを入力する代わりに、ドメインから他のクラスを定義してそれらを実行し、コントローラにユース ケースを処理させることができます (実際には、それぞれに 1 つずつ実行することにしました)。使用事例)。たとえば、クラスでこれらのメソッドを使用する代わりに、 UserDatabase.RegisterNewUser()
andを使用できます。UserDatabase.UnregisterUser(int id);
Administrator
アイデアは、休暇スケジューラ全体を、一連の機能を持ち、認証などのことを気にしない「クローズドプログラム」と考えようとすることです。外の世界に見せたいのは、そのコントローラーです。
これは正しいアプローチですか?それとも、私はこれを完全に間違っていますか?アクターをドメインモデル/クラス図に入れるのは一般的に悪い考えですか? これにはどのような経験則がありますか?
私の講師はApplying UML and Patternsに従っていますが、これはひどいと思います。そのため、この記述されたアクター モデルの状況に関する詳細情報をどこで調べられるか知りたいです。
この新しいアプローチは、私が以前に行ったこととは根本的に異なるため、私はまだこれらすべてについて少し混乱しています。
c# - ドメイン モデルでのコレクション/コンテナー/カタログの使用
映画館をモデル化したいとしましょう。映画館にはいくつかの部屋 (たとえば 7) があり、そこで映画が上映されます。
このシナリオのドメイン モデルをどのように設計すればよいのでしょうか。
Cinema
クラス コンセプト のコンセプトは、7 つの部屋と直接関連する必要がありますか? 代替テキスト http://dl.dropbox.com/u/6187267/shooterpics/nocatalog.jpgCinema
クラスの概念は、7 つの部屋のカタログと関連付ける 必要がありますか? 代替テキスト http://dl.dropbox.com/u/6187267/shooterpics/catalog.jpg
なんで?
ある場所では最初のケースが見られ、別の場所では2番目のケースのようなものが見られる理由を理解するのに苦労しています。
部屋の代わりに、シネマと次の関係を描写したかった場合:
- 販売するチケット (今日)。
- チケット完売(本日)
- シネマデータベースの顧客
- 映画館の特定の部屋で映画が上映される一連の時間。
- 映画館の部屋で座ることができる場所のセット。
Cinema
カタログを使用する必要がありますか? ターゲットに * の多重度を持つ概念に直接接続する必要がありますか?
ありがとう
oop - ドメインモデルを行うとき、どこから始めればよいですか?
ドメインモデルの描画に使用する概念のリストを作成したとしましょう。さらに、いくつかのシステムシーケンス図を作成したいくつかのユースケースがあります。
ドメインモデルを描くとき、どこから始めればよいのかわかりません。
- システムがそうであると私が信じているようにモデルを設計する。これは、人体をモデル化する場合、心臓、脳、腸、胃、目、頭などのクラスの概念を追加することから始めます。
- ユースケースを実行するために必要なものを設計することから始めます。これは、人体に何かを飲み込ませるユースケースがある場合、最初に口、喉、ストマッチ、腸などのクラスの概念を描きます。
私が物事を行う順序は無関係ですか?ユースケースの概念から設計するのがおそらく最善だと思います。これらは一般的に作業したいものであり、システム全体をうまく説明するのに役立つ他の種類の概念ではなく、多くの場合現在のプロジェクトでは必要ありません。ここで考慮していない他のアプローチはありますか?通常、これにどのようにアプローチしますか?
ありがとう
oop - ドメイン モデルとコントラクト
私は DVD レンタル ストアをモデル化しています。
- A
Client
はそのclientNumber
を に与えSystem
ます。 - 指定されたが有効な場合は
System
常にチェックしclientNumber
ます。 - は、借りたい
Client
の名前を付けます。DVD
- ...
- ...後で、
Rent DVD
クラス概念の新しいインスタンスと現在のClient c
.
私は、1回目と2回目の操作の契約を次のように作成しました。
前提条件: なし
Client c
事後条件:そのようなが存在しc.clientNumber = clientNumber
ます。
Client c
ここで、これと DVDStore (フロントエンドとして使用する予定) との関連付けを作成する必要があるかどうかはわかりません。関連付けを行わない場合、後で同じクライアントを「参照」するにはどうすればよいですか? クライアントと別の概念を関連付ける必要がありますか?
ありがとう