中间层的最佳方法&转换功能

时间:2016-11-18 23:22:03

标签: c# design-patterns solid-principles

我们已成功完成开发新的Web应用程序。它有Presentation层,业务层和&数据访问层。

对于新的Web应用程序,我们移植现有的业务层&仅更改数据访问层的表示层。

虽然我们将使用相同的业务层,但是有些情况可能存在与现有模型不同的模型。

我们计划建立中间层(新模型)和转换功能,从现有业务层交付的模型中生成新模型。

namespace Busniess
{
    public class Employee
    {
       public string FirstName {get; set;}
       public string LastName {get; set;}
    }
}

新的中间层,

     namespace Intermediate
    {
        public class Employee
        {
           public string Address {get; set;}
           public string Zip {get; set;}
        }
    }

当我创建员工实例时,Employee对象应该能够转换为以下场景

1. GetAll (all the properties FirstName, LastName, Address & Zip)
2. Selected (FirstName & Address) - if possible controlled through attribute decoration.

创建中间层的最佳方法是什么?转换功能?

如果中间层&转换函数不是一个好的候选者,最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

根据您的理解,您的中间版本只是通过其他扩展/属性调用实际业务层。其中一种方法是从Business对象继承到中间层。通过这种方式,您可以访问Business层到中间层的所有功能,并且代码将符合DRY原则。

namespace Intermediate
{
    public class Employee : Busniess.Employee
    {
        public Employee() : base() { }
        public string Address { get; set; }
        public string Zip { get; set; }
    }
}