3层框架演练1——不使用接口

环境:VS2017,  .NET Framework 4.6.1, Win 10 Pro

 创建表示层及解决方案:

创建类库项目:DAL层:

创建BLL业务逻辑层:

再创建实体层:(这一层也可以放再DAL建个文件夹)

 

 

删掉BLL,DAL,Entity层类库项目自带的Class1.cs

在Entity层创建一个POCO实体类Product

public class Product
{
    public string Id { get; set; }
    public string Name { get; set; }

    public override string ToString()
    {
        return $"{nameof(Id)}:{Id}, {nameof(Name)}:{Name}";
    }
}

  

DAL引用Entity层

 

在数据访问层DAL创建类ProductDao(DAO=数据访问对象)

public class ProductDao
{
    //构造数据库数据
    private readonly IList<Product> _productList = new List<Product>
    {
        new Product {Id = "1", Name = "苹果"},
        new Product {Id = "2", Name = "香蕉"}
    };

    //实际项目从数据库获取数据,这里为了简单,直接构造几条数据
    public IEnumerable<Product> GetProducts()
    {
        return _productList;
    }
}  

 业务逻辑层BLL引用DAL和Entity层

在逻辑层创建ProductBll类

public class ProductBll
{
    public IEnumerable<Product> GetProducts()
    {
        var productDao = new ProductDao();
        var products = productDao.GetProducts();
        return products;
    }
}  

 表现层应用BLL层和Entity实体层

在Program类添加调用逻辑层方法

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine($"开始运行{nameof(Program)}");
        var productBll = new ProductBll();
        var products = productBll.GetProducts();
        foreach (var product in products)
        {
            Console.WriteLine(product);
        }
        Console.WriteLine($"结束运行{nameof(Program)}");
    }
}  

运行结果

 

posted @ 2019-04-19 23:45  海阔天空XM  阅读(179)  评论(0)    收藏  举报