1

たとえば、Web アプリケーションがあり、データベース テーブルのデータを配列/オブジェクト コレクションとして返して Web ページに表示したり、json として API を構築したりしたいとします。

私の質問は次のとおりです。データベースからデータをjsonとして返すメソッドと、データを配列として返す他のメソッドをモデルに作成する必要がありますか、それとも「getData」メソッドを使用してコントローラーで出力を操作する必要がありますか?

ケース 1:

モデル:

function getDataFromDb(){
 // query the db
// return as array/obj
}

function getDataAsJson(){
result = getDataFromDb();
// manipulate the result and return json object
}

ケース 2

モデル:

function getDataFromDb(){
 // query the db
// return as array/obj
}

コントローラ

result = getDataFromDB();
// create json data from the returned result
4

2 に答える 2

0

単一責任の原則は、WebインターフェイスコントローラーとAPIコントローラーを分離するように指示します。それは、よりクリーンで保守しやすいアプローチになります。ただし、何らかの理由でそれができない場合は、少なくともメソッドを分離してください。「多機能」メソッドは、保守が難しく、メソッドをより複雑にします。

于 2011-02-24T12:41:49.383 に答える
0

私の意見では、これはコントローラーの仕事です。モデルはフォーマットについて知らない(または気にしない)必要があります。

個人的には、モデルデータをJSONにシリアル化するためのある種のヘルパークラスを作成します。ASP.NET MVC 3で実行している場合は、JavaScriptSerializerクラスを調べる必要があります。

于 2011-02-24T12:43:02.527 に答える