問題タブ [separation-of-concerns]
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.
list - リスト間でオブジェクトを「移動」するための好ましい方法
私は2つの別々のエンティティのリストを持っています:
Qux
リストFooにあるオブジェクトをBarに移動する操作を実装したいと思います。それを実装するための最良の方法は何ですか?
の
/li>MoveTo
インスタンスメソッドとしてEntityCollection
:の
/li>MoveFrom
インスタンスメソッドとしてEntityCollection
:上の静的
/li>Move
メソッドとしてEntityCollection
:
/li>Move
両方のコレクションを保持するクラスのインスタンスメソッドとして:
または、エンティティは一度に1つのコレクションにしか存在できないため、エンティティに自分の場所を追跡させ、エンティティ自体に実装することができます。
非常に多くのオプションが提示されたとき、私は知りたいです:moveメソッドはどこに属しますか?なぜ?
asp.net-mvc - ASP.NET MVCの関心の分離をENFORCEDでどのように実行しますか?
私は2007年のプレビュー1(12月)からASP.NET MVCを研究し、遊んで、作業しています。私は2008年からファンであり、ずっとサポートしています。
ただし、Rob Conery、Scott Hanselman、Phil Haack、ScottGuthrieによるProfessionalASP.NET MVC 1.0で読むことを含め、「ASP.NETMVCは関心の分離を厳密に実施します」を聞き続けています。
私が理解していないのは執行です。何もしないアクションでコントローラーを定義するとどうなりますか
そしてビュー(aspxビューエンジン)で私はすべてをしますか?(データフェッチ、ビジネスロジック、意思決定、レンダリングなど)
(ASP.NET MVC)は、関心の分離をどのように強制しますか?
これは露骨な誇張であり、「関心の分離を示唆する」と読む必要があると思います。
それが強制することを私に納得させることができますか?
asp.net-mvc - ASP.NETMVC-ソリューションレイアウトの提案
私はASP.NETMVCを数か月使用していますが、プロジェクトのソリューションのレイアウトにはまだ満足していません。私は、可能な限りポータブルで再利用可能な中規模のWebサイトCMSを構築しようとしていますが、その設計には明らかな問題がいくつかあります。関心の分離を考慮して、ソリューションをどのように構成すべきかについてのアドバイスを探しています。私はここで同様の質問を見つけましたが、それは私が直面している問題のいくつかを実際には対象としていません。
現在、これが私のソリューションのレイアウトです。
私が現在見逃している主なことの1つは、ビジネスロジックを固定する場所であり、リポジトリクラスにビジネスロジックを誤って配置しているだけでなく、コントローラーアクションに混在させていると感じています。明らかに、私はこの問題をよく知っています。そのソリューションレイアウトのどこにビジネスロジックを配置すべきかがわかりません。ソリューション構造を変更する必要がありますか、それともモデルプロジェクトでそのビジネスロジックを安全に維持できますか?また、EFコンテキストがModelsクラスにあることは本当に好きではありませんが、モデルに必要なエンティティクラスからデータレイヤーコードを分離する方法がわかりません。
他のすべての人は、本番ASP.NET MVCソリューションをどのようにレイアウトしていますか?
asp.net-mvc - 文字列をエンコードするのは誰の責任ですか?
文字列、モデル、またはビューをエンコードするのは誰の責任ですか?
私はデータベースから文字列を取得しました。それはユーザーからのものです。データベースにできるだけ多くの情報を保持したいので、入力をそのまま保存しています。
文字列を表示するとき、ビューモデルにデータを入力するときに文字列をエンコードする必要がありますか、それともエンコードして表示するかどうかをビューが決定する必要がありますか?
ありがとう、
K
asp.net-mvc - 懸念事項とパフォーマンスの分離?
私はASP.NET MVCサイトを持っており、コントローラーとモデル (リポジトリー) および HTML ヘルパー機能の分離を理解しようとしています。
目標は、フォト アルバム情報のデータベース テーブルにクエリを実行し、それを年ごとにグループ化して表示することです。
手順は次のとおりです。
- データベースにクエリを実行し、データベース情報のデータテーブルを返します。
- Datatable を AlbumCollection に変換 (リスト)
- 年ごとにアルバムを ALbumDictionary にバケット化する
- 毎年別の HTML テーブルにレンダリングします。
この要求が与えられた場合、次のことがわかります: 1,2,3 はすべてモデル内にあり、コントローラは単純に View を AlbumDictionary モデルにバインドするか、モデル内で 1,2 をバインドして AlbumCollection にバインドし、3 を HTML ViewHelper または 1,2 にバインドします。コントローラーのモデル3で、Albumdictionaryにバインドします
考え?
最初のループですべての変換を行うと最高のパフォーマンスが得られますが、それが最善の関心事の分離であるかどうかはわかりません。
特に上記の質問に対しては、一般的なフィードバックが興味深いでしょう: 関心の分離がパフォーマンスを覆すのはいつですか、またはその逆ですか?
c# - このコードの懸念事項を分離する最良の方法は何ですか?
前の質問で、受け入れられた回答に対するDr. Herbieからのコメントの 1 つは、私の方法は、データの変更とデータの保存という 2 つの責任を実行していたというものでした。
私が理解しようとしているのは、私の状況でこれらの懸念を分離する最良の方法です。
NHibernate を介して取得される Policy オブジェクトを持つ私の例を続けます....
現在、ポリシーを非アクティブに設定している方法は次のとおりです。
データ アクセスとデータ更新の責任を分離するとしたら、どのように実行するのが最善でしょうか?
PolicyManager (dao へのゲートウェイとして機能する) で Policy オブジェクトの状態を管理する方がよいでしょうか。
または、Policy オブジェクトに独自の状態を維持させてから、manager クラスを使用して情報をデータベースに保存するには:
c# - ドメイン駆動設計のレイアウトに関する質問
DDDのことは初めてです。PROFILE クラスと PROFILE REPOSITORY CLASS があります。PROFILE クラスには次のフィールドが含まれます -> Id、Description、ImageFilePath
したがって、新しいプロファイルを追加すると、画像がサーバーにアップロードされ、そのパスがデータベースに保存されます。
プロファイルを削除すると、ファイル システムからもイメージが削除されます。
私の質問:
このためのロジックをどこに追加しますか。私のプロファイル リポジトリには Delete メソッドがあります。ここにこのロジックを追加する必要がありますか。または、両方のアクションをカプセル化するサービスを追加する必要があります。
コメントをいただければ幸いです...
ありがとう
asp.net-mvc - コントローラーのタスクを実行するのに役立つ関数をどこに配置しますか?
現在、ASP.net MVC Web サイト プロジェクトに取り組んでいます。
クエリや更新/削除/保存機能など、すべてのデータベース関連のものをモデルに入れました。
また、ロジックを実行するコントローラーもいくつか作成しました。Helpers 名前空間を追加しました。その名前空間内には、ページネーション、国際化などのロジックを含むクラスがいくつかあります。
請求書の生成など、一般的なことを行う関数やクラスを配置するためのベストプラクティスは何ですか?
wpf - 動的なアニメーション、コマンド、関心の分離
シナリオ: (数値) テキストボックス、ボタン、およびラベルがあります。ボタンをクリックすると、ラベルがテキストボックスの数値に「アニメーション化」されます(回転するダイヤルのように)
与えられた:
a) ストーリーボードのアニメーションはデータ バインディングを持つことができない (フレームワーク要素ではないため) b) Silverlight にトリガーがない
ビューモデルをビューのストーリーボードに結合するのが最も少なく、ターゲットアニメーション値を更新し、ボタンがクリックされたときにアニメーションを開始する方法は何ですか?
注: シナリオは概念的なものであるため、数値の「アニメーション化」などの詳細に集中しないでください。