私は疑問に思っています:マッパーの抽象化はどれほど複雑になる可能性がありますか?
コントローラーのアクションがあるとしましょう
ActionResult Find(QueryInputModel query)
モデルは次のようになります
class QueryInputModel
{
public string Text {get;set;}
public IEnumerable<string> RegionCodes {get;set;}
}
とりわけ、入力モデルをビュー モデルに変換するのはアクションの役割です。
class QueryViewModel
{
public string Text {get;set;}
public IEnumerable<Region> Regions {get;set;}
}
class Region
{
public string Name {get;set;}
public string Code {get;set;}
}
ビュー モデルの領域名は、入力モデルのコードを使用して db から取得する必要があります。現在、QueryMapper.Map(src)
このような方法で行われています
public QueryViewModel Map(QueryInputModel source)
{
var regions = regionRepository.Get(source.RegionCodes);
var result = new QueryViewModel {Text=source.Text, Regions=regions};
}
そのような抽象化をMapperと呼ぶのは正しいですか? 単純なマッピングと db クエリを 1 つのメソッドに混在させても問題ありませんか?