我正在使用AutoMapper设置的项目。由于大多数对我来说都是陌生的,因此我对原因保持开放的态度。
假设我有两节课:
class Foo
{
public string name { get; set; }
public int rank { get; set; }
public bool isDelected { get; set; }
}
class FooView
{
public string name { get; set; }
public int rank { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
而不是使用ORM,为什么我不只是使用将FooView作为参数的构造函数。
class Foo
{
public Foo(FooView source)
{
this.name = source.name;
this.rank = source.rank;
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,只要我有FooView并且需要Foo,我就说
var myFoo = new Foo(FooView);
Run Code Online (Sandbox Code Playgroud)
它为我提供了我在一个位置所需的所有逻辑,并且我可以在任何地方使用它。如果我需要更新代码,则将其与Model定义放在同一位置。那我想念什么呢?