私はコンテントネゴシエーションを使用しているので、リクエストのヘッダーに応じてJSON/XML出力を提供します。今、私はこの機能を提供するのに最適な場所はどこか疑問に思いました。
情報:BLL=ビジネスロジック層
DTO=データ転送オブジェクト
DAL=データアクセス層
DTOの擬似コードの例
class ExampleDTO{
propertie name;
propertie description;
}
BLLの擬似コードの例
class ExampleBLL{
GetExample(name) returns ExampleDTO;
GetExamples() returns List<ExampleDTO>;
}
1)BLLオブジェクトを使用するGUIの場合:BLLからのDTO結果をJSON / XMLに変換します
2)BLLの場合:次のようなもの... getObjectJSON()-> DTO入力をJSON形式に変換して返します
3) DTOの場合:toJSON()toXML()toString()のような動作
4)または1つのプロパティ(json / xml)のみを持つ追加のDTO
5)他に何かありますか?..。
*個人的には、(1)ロジックをGUIから除外する理由で間違っていると思います。(4)WebJsonExampleDTOやWebXmlExampleDTOのような追加のDTOを1つのプロパティだけで使用するのはやり過ぎのようです。