問題タブ [object-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.
c# - API 設計に関する質問
API を設計しているときに、次の動作をどのようにモデル化するかを考えています。
オプション 1 はより論理的に見えますが、スプレッドシートが実際にワークブックに属しているかどうかを確認するなどの不変条件を適用する必要があります。
オプション 2 は奇妙に思えますが、スプレッドシートは自分自身を削除する方法を知っていますが、実際には、スプレッドシートには親ワークブックへの参照があり、呼び出しを直接彼に委任できます。
それとも、ワークブックは何があってもスプレッドシートを検証する必要があるため、これは本当に有効なケースではありませんか?? 考え?
みんなありがとう
javascript - JavaScriptオブジェクトが単純か複雑かを判断する方法は?
基本的に、次の2つを区別する必要があります。
collections - ドメイン駆動設計でオブジェクト コレクションを取得する方法
私は Zend Framework を使用しており、DDD アプローチ (ドメイン駆動設計) に移行しようとしています。ドメイン オブジェクト用のモデル、マッパー、および DbTable があります。
システム内のすべてのユーザーのリストなど、同時に複数のエンティティをフェッチする必要がある状況はたくさんあります。そのため、私のユーザー モデルには、すべてのユーザーを返すメソッド「getAllUsers」があります (現在は、すべてのユーザーの配列ですが、コレクション クラスを作成することを考えています)。これまでのところ、通常のメソッド (非静的) を使用してコレクションを取得しています。この目的のために、「空の」オブジェクトを作成する必要があります。もう 1 つのオプションは、静的メソッドに変換することです。
どちらのアプローチが優れているか、そのようなメソッドを非静的のままにするか、それらを静的メソッドに変換するかはわかりません。そして、より良いアプローチ/プラクティスは何ですか?またその理由は何ですか? また、どのアプローチが DDD 方法論に密接に従っているか。
PS: いいタイトルが思いついたら教えてください。いいえ、コースの質問ではありません。
jsp - Web アプリケーションの jsp:s の構造を視覚化するツール
jsp:s と jspf:s で構築された Java Web アプリケーションの構造を自動的に視覚化する (ある種のオブジェクト グラフを表示する) ツールを探しています。私はそれをグーグルで調べてきましたが、純粋なJavaクラスの分析ツールしか見つけることができず、jspsの分析ツールを見つけることができません. これが必要な理由は、構造をクライアントに見えるようにして、特定のファイルが変更されたときに何が影響を受ける可能性があるかをクライアントが確認できるようにするためです。
手動で行う必要がある場合は、優れたモデリング ツールの提案も歓迎します。
乾杯ビョルン
java - 外部キー関係を持つDTOの設計
WebアプリケーションにJava+Springフレームワークを使用しています。ORMツールを使用していません。代わりに、単純なDAO/DTOパターンを使用してdbリレーションをJavaオブジェクトとしてモデル化しようとしています。DTOがデータベース内の単一のテーブルに正確に対応する場合は常に、非常に簡単です。しかし、外部キーを使用して他のテーブルを参照するテーブルがある場合、これに対する最善のアプローチはわかりません。Stackoverflowで同様の回答を探しましたが、私のニーズに合ったものを見つけることができませんでした。非常に具体的な例を挙げたいと思います。UserとGroupの2つのエンティティがあるとします。ユーザーDTOとグループDTOがあり、それぞれにUserDao(JdbcUserDao)とGroupDao(JdbcGroupDao)があります。
これで、ユーザーとグループを接続するDB内の関係ができました。1人のユーザーが複数のグループに属することができます。テーブル名はUser_Group_Associationで、次のDB定義があります。
user_id | group_id
ここで、user_idは、ユーザーテーブルを参照する外部キーです。同様に、group_idはグループテーブルを参照します。このDTOをJavaでモデル化する場合、次のようなことを行う必要があります。
または、次のようになります。
特定のUIのユースケース:ユーザー名とそれに属するグループ名を表示したい。このようなもの-
名前->グループ名
Keshav-> Admin、EndUser、ReportAdmin Kiran-
> ReportAdmin
Pranav-> EndUser
DTO設計への最初のアプローチでは、ユーザーの詳細(名前)とグループの詳細(名前)をDBから再度取得する必要があります。2番目のアプローチでは、UserGroupAssocオブジェクト自体を作成するときに、UserオブジェクトとGroupオブジェクトをフェッチする必要があります。
おそらく3番目のアプローチでは、UserGroupAssocDTOを次のように設計できます。
この3番目のアプローチでは、SQLでテーブルを結合して、ユースケースに必要なフィールドのみを取得し、それに応じてDTOをモデル化します。
このシナリオを達成するための標準的なアプローチはどれですか?DTO設計でテーブルを結合しても大丈夫ですか?1つのDTOは1つのテーブルのみに対応し、関連するオブジェクトはアプリレイヤーに集約する必要があるという意見もあります。これには、DBから複数のオブジェクトフェッチを実行するオーバーヘッドがありますか?正しいアプローチについて混乱しすぎて、長い説明をしてすみません!
design-patterns - パラメータ化された変換ルールのオブジェクトモデル
私は以前に同様の質問をしましたが、それを言語固有の質問として提起しました。私の問題はモデリングレベルにあることに気づきました。
オブジェクトモデルで次のことをどのように表現すればよいですか。
私は持っています:
- データオブジェクト
- パラメータオブジェクト
- ルールオブジェクト
ルールは、受け取るデータオブジェクトを変更する方法を指定します。追加のパラメーターを完全に定義する必要があります。ルールは他のルールを使用する場合があります(内部でそれらを参照するか、パラメーターオブジェクトでそうするように指示されます)。
ルールは、誰かが解析する必要のあるカスタム言語で書かれていません。むしろ、実行する必要のあるコードで構成されているだけです。これは、設計前の実装ソリューションのように聞こえるかもしれませんが、実際には要件の1つです(システムユーザーは、独自のルールを記述してシステムに簡単に追加できるようにしたいプログラマーです)。
主なアクティビティは、データオブジェクト、パラメータオブジェクト、およびルールオブジェクトが出会ったときに発生します。その時点で、データオブジェクトが変更されます。
ユーザーは、どのルール、どのパラメーター、およびどのデータオブジェクトを満たしたいかをシステムに通知し、変更されたデータオブジェクトを取り戻すことを期待します。
アップデート:
データオブジェクトの例:
すべてのデータオブジェクトは、SQLテーブルとして論理的に表すことができます。
データオブジェクトID#7:SQLテーブル
データオブジェクトID#13:SQLテーブル
パラメータオブジェクトの例:
すべてのパラメータオブジェクトのレイアウトは同じです。テキストファイルで、各行は次のようになります。
<PARAMETER_NAME>
=<VALUE>
パラメータオブジェクトID#52:
RULE='回帰'
データID=7
Y='コスト'
X='最大速度'
R='コスト見積もりのエラー'
パラメータオブジェクト#59:
RULE='平均'
データID=13
COLUMNS ='最小速度'、'最大速度'
AVERAGE='平均速度'
ルールオブジェクトの例:
ルールオブジェクト'回帰':
線形回帰を実行します。'Y'および'X'という名前のパラメーターは、従属変数および独立変数として使用される列名を指定します。'R'という名前のパラメーターは、回帰からの残差を含むテーブルに追加される列名を指定します。
ルールオブジェクト'平均':
パラメーター'COLUMNS'にリストされている列に指定されている数値の平均を計算し、その結果をパラメーター'AVERAGE'に指定されている列に保管します。
symfony - クラス内でサービスコンテナを簡単に取得する方法は?
どこからでもコントローラ コンテナに簡単にアクセスできるようにしたいと考えています。これを行うための「公式」の方法はありますか?
コンテナーを返すバンドル クラス (またはコントローラー クラス) に静的アクセス関数を作成するつもりです。コンテナーは、コントローラーのコンストラクターで初期化されます。
core-data - 多対多の関係のためのコアデータ削除ルール
ContainerエンティティとItemエンティティを持つCoreDataモデルがあります。コンテナには、0個以上のアイテムを含めることができます。アイテムは少なくとも1つのコンテナに属している必要があります(ただし、複数のコンテナに含まれている場合があります)。
関係は次のようになります。
コンテナを削除すると問題が発生します。そのコンテナ内のItemオブジェクトは更新されますが、アイテムが1つのコンテナにのみ存在する場合、itemContainersプロパティはオブジェクトのないセットになります。その空のセットがitemContainersのItemのオプションではない設定に違反しているため、オブジェクトグラフの保存は失敗します。
もちろん、「itemContainers。@ count == 0」のようなNSPredicateを使用して、空のitemContainersを持つItemオブジェクトを見つけるのは簡単ですが、これを自動的に行うようにモデルを構成する方法があるはずです。
それで、より簡単でより良い方法はありますか?
xcode - XCode オブジェクト モデルのバージョン エラーを解決するにはどうすればよいですか?
現在 OS X 10.7.4 を実行しており、XCode 4.3.2 を使用しています。バージョン 2.x 以降、本番環境で XCode を実際に使用していなかったので、XCode に戻ってきました。そうは言っても、私は慣れ親しんでいるテスト Core Data アプリケーション (iPhone ではなく MacOS) を持っています。コードはありません -- 現時点ではすべて Interface Builder です。数日前にデータ モデルを変更しましたが、それ以来、次のエラーが発生しています。
以下を含むがこれらに限定されない、いくつかの関連するスレッドに遭遇しました。
モデルが変更されたときに CoreData で保存されたすべてのデータをワイプします
しかし、誰も私の問題を解決していません。繰り返しますが、コードは使用していません。また、私が遭遇した他のページやフォーラムの投稿にもかかわらず:
…~/Library/Application Support/AppName に削除する xml ファイルがありません。私の「AppName」を持つライブラリのどこにもフォルダは実際にはありません。答えはかなり些細なことだと確信していますが、私はそれを理解しようとして壁に頭をぶつけてきました.
現在、バージョン管理などに関する Apple のドキュメント ( http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/CoreDataVersioning/Articles/Introduction.html ) を読んでいますが、誰かが読んでくれることを期待しています。私の目が曇る前に答えを投稿してください。
前もって感謝します!