質問

と言いてASP.NET MVCプロジェクトは、サービスを利用して層など、このお問い合わせ管チュートリアルのasp.net サイト: http://www.asp.net/mvc/tutorials/iteration-4-make-the-application-loosely-coupled-cs

まviewmodelsのご意見は、本サービスの層の適切な場所をご提供するviewmodel?例えば、サービス層のサンプルコードする方法があり

    public IEnumerable<Contact> ListContacts()
    {
        return _repository.ListContacts();
    }

もし代わりに使っIEnumerableでのサービスの層またはあるかそれが"正しい"のか。

かなり適切な場合は別途viewmodelは、各ビューに関連ContactController、ContactManagerServiceには別の方法を返す各viewmodel?場合、その層は、適切な場所、どこにviewmodel物の初期化を使用するコントローラ?

役に立ちましたか?

解決

一般的に,no.

ビューモデルの情報提供を目的としたものからの眺望は特定の申請に対して、一般ります。コントローラは相互作用を計画とリポジトリサービス(一定の前提のサービスの定義こちら)など、ビルドに対応し、検証ビューモデルのロジックを決定するビューを描画する

による漏洩ビューモデルへのサービス"の層は、ぶれレイヤーを、現するとともに応募及びプレゼンテーションを特定の混合に何をすべき重点領域レベルの責任です。

他のヒント

なんともいえない。サービスエリア問題についてはドメインのビューを描画する。戻り値は、ドメインの物がいます。

としての伝統的なアプローチまたは理論的にViewModel含まれるべきであるユーザインタフェース。少なくとも名前のこういっています。

がすを実施する自分で企業の枠組みMVC、リポジトリなど、その実現には、地下鉄からも近くて便利。

誰かがプ企業/DBモデルViewModels(DTOのです。こうした状況が生じているので[A]のUI層のコントローラー)、または[B]のサービス層?

行くのオプションBオプションはなかなか体モデルを組み合わさってViewModel.ない場合がありま券不要なデータのUI層であるのに対し、オプションBは、サービスのセレブを巻き込んで大流行してデータパスのみを必要最小限のUI層マッピング(ViewModel).

まろうオプションでは、ViewModelのUI層(-エンティティモデルのサービスについて

場合、その層のニーズにマップするViewModel、そのサービス層に必要なアクセスViewModelにUI。る図書館プロジェクト?のViewmodelは別のプロジェクトのUI層は、このプロジェクトが必要によって参照されるサービス。場合にはViewModelではない別のプロジェクトがありま循環参照なのです。見えにくいサービス層にアクセスのUI層もしも対応します。

だがある場合は他のUIアプリこのサービスですか?何がある場合はモバイルアプリ?どう違うので、ViewModelす。のサービスにアクセスのモデルプロジェクト?すべてのUIェアクセスしてくださいViewModelプロジェクトにつないですか。

後へのアクセスにはログインが必要私が考えられるのViewmodelプロジェクトのサービス。毎UI層のサービスにアクセスする層っ!が簡単に楽しむことができるViewModelsその全てが使用するマッピングがしやすくなるためのサービスについてマッピングについてはlinqこれらの日、別のプラスである。

最後に、この議論をDTO.またデータのアノテーションをViewModels.ViewModelsデータのアノテーション(Microsoft.Web.Mvc.DataAnnotations.dllな居住サービスの層ものではなく、居住UI層がComponentModel.DataAnnotations.dll に住むことができるサービスについての場合すべてのプロジェクトは一つのソリューション(.slnであることを検証することがなる層を入れたのです。企業用途では、各層においても重要なのは、溶液とする。

でDTO実際にはViewModelで心が一つのマッピングのいくつかAutoMapper).再度別の論理に必要なのUIは複数の用途)に存在すサービス。のUI層ViewModel場合は使用していまMicrosoft.Web.Mvc.DataAnnotations.dll)でコピーしてからデータをDTO、一部の行動/属性に追加されます。

"今この議論を通ており、すでにいくつかの興味深いく。I]

となデータ注釈が属性だけのポートします。場制限の検証用System.ComponentModel.DataAnnotations.dll それと同じものをViewModelにも使用できるフロント&バックエンドの検証(その状UI-住-ViewModel-コピーのDTO).また属性でも使用できるエンティティモデルです。例:ます。tt-事業体の枠組みのデータモデルできautogenerated検証属性にはいくつかのDB検証のように最大長を送信する前に、奥ます。もう一つの利点がある場合にはバックエンドの検証の変更DBです。tt(読み込みDB特定の属性のためのエンティティクラス)を自動的に選別する。この能力UIの検証のユニットテストに失敗しても、大きなプラス(たしますので正しいので、お知らせすべてのUi/消費者の代わりに誤って忘れな).その議論に向けて良い枠組みのデザイン。誰でも参加でき、無料で入場できはすべての関連:tier的に検証、試験ユニット戦略、キャッシュ戦略など。

直接関係しないが、の問題をもたらしていました。'ViewModelファサード'このワークショップを行 チャンネル9のリンク でも、探検する価値あで正確にで11分49秒の映像です。こうすると次のステップ/思想を再現在の問題上記の並び替え:'どのように整理ViewModels?'

もえお"_repository.ListContacts()で返ViewModelからリポジトリこれは成熟します。リポジトリを企業モデルはDBです。この取得しに変換ビューモデルでこのビューのモデルによって返されるサービス。

と思うようであると考えると、"サービス"です。んになっているもの サービス このクラスでも漠然としたなだらしく、実際の目的のクラスです。

場合には"サービス層"は物理層、webサービスとして、絶対にいけません;サービスSOAントコンテキストの露光領域/事業なデータはプレゼンテーションロジック.がの場合 サービス はして使われています"という概念に更なるレベルの封入、と思いますかも問題ですdesribe.

なミックス。サービスを行う場合お得なビューのモデルであるべき 発表サービス とする層間の 実際の モデルが直接触れるのをベースとした、理解しやすいビジネスロジック

それは、カブトムシやクワガタ"により"日々目まぐるしく変わっていまれたコントローラー多消費の一部のサービス(s)-その組み合わせの返DTOの入についてのViewModel'として渡されたクライアントはJSONの結果、以下のカミソリのテンプレートを作成します。

ことは、約80%の時にマッピングDTOにViewModelたまま1-1で終えました。し、更なる拡大を目指していへの移行が必要なのは、消費をDTO直接のDTOどについては、こちらをご覧下さいクライアント/観と一致しませんアップを作成し、ViewModelいものにマッピングと物必要に応じて'.

がんにはまだここには適なソリューションを提供してであれば自由に置くことへの熱い議論のただの追加XをDTOへのニーズに応えいたします。'

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top