三层结构,是我们学习设计框架最早接触的项目搭建方式,我们通过一步一步来进化我们的项目结构。
一、首先建立一个控制台项目,如下:
一开始,为了不分散我们的注意力,我们把所有的类全部写在Program.cs文件里,这样很直观,一眼就能看到全部代码结构。
需求:在控制台展示学生的信息。
分析:先定义一个学生的实体类,然后定义一个逻辑类,再定义一个数据访问层类,最后在客户端调用逻辑类获取学生信息,逻辑类会调用数据访问层获取学生信息,数据访问层应该去访问数据库的,这里我们先用代码给出2条数据,以表示从数据库获取到的数据。
代码简单,就不一步一步创建了,自己看
using System; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices.ComTypes; namespace MyThreeLayers1 { class Program { static void Main(string[] args) { //第四步,调用逻辑层 var studentBll = new StudentBll(); var students = studentBll.GetStudents(); foreach (var student in students) { Console.WriteLine(student); } Console.ReadKey(); } } //第一步、创建实体类 public class Student { public int Id { get; set; } public string Name { get; set; } public override string ToString() { return $"{nameof(Id)}: {Id}, {nameof(Name)}: {Name}"; } } //第二步、创建数据访问层DAL,获取数据库数据 public class StudentDal { //这里应该是从数据库返回数据 private readonly IList<Student> _students = new List<Student> { new Student {Id = 1, Name = "海风"}, new Student {Id = 2, Name = "青云"} }; //获取数据的方法 public IEnumerable<Student> GetStudents() { return _students; } } //第三步、定义逻辑层BLL,调用DAL层的方法 public class StudentBll { public IEnumerable<Student> GetStudents() { var studentDal = new StudentDal();//实例化底层,方可调用其方法 var students = studentDal.GetStudents(); return students; } } }