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)}");
}
}
运行结果


浙公网安备 33010602011771号