Является ли хорошей идеей определить члены преобразователя DTO (который в большинстве случаев является статическим классом) как методы расширения?
Тогда вместо записи:
Affiliate bo = Mapper.FromDataTransferObject(dto);
Мы можем написать:
Affiliate bo = dto.FromDataTransferObject();
FromDataTransferObject - это метод расширения, определенный ниже:
public static Affiliate FromDataTransferObject(this AffiliateDto dto) {
if (dto == null) {
return null;
}
var bo = new Affiliate() {
Id = dto.Id,
AccountAlias = dto.AccountAlias,
Balance = dto.Balance
// ...
};
return bo;
}