项目大致分为两层,Web层和Service层
AdminWeb->后台项目;FrontWeb->前台项目
IService层为Web层提供服务,与数据库交互
Common和CommonMVC是帮助类
IService是一个接口类,Service层会实现所有接口类
为什么要用接口类?这样有什么好处?
比如一个A类实现了一个IA的接口,你就可以这样实例化
IA a=new A();
接口类可以指向类的实例。如果一个B类实现了IA接口你同样可以进行IA b=new B();进行实例化
当你用于项目的时候,只要有IService层你就可以为Web层提供服务 ,你可以有多个Service层实现IService层。
这样的话你的Web层和Service层是没有关系,完全解耦的。
到了这里你也许会疑问在Web层进行实例化的时候,不依然需要进行指定实例化A类还是B类?
这个时候你就需要了解IOC容器了,它会帮你进行对象的实例,不需要你new
public IAdminUserService userService { get; set; }
你只需要在Web层这样写,ICO容器会自动帮你创建对象的实例,当你想更换Service层的时候,只需要更改ICO容器配置即可
DTO的作用
DTO是数据传输对象,比如你在DAL层查询数据库,查询的数据是用Model层作为载体像BLL传输的。DTO就充当了Model的角色,用于向Web层传输数据的载体