构建项目解决方案 创建EF DataBase Frist模式
进行本次文章之前,我们可能需要补充一些基本知识。
首先我们系统是基于接口编程的,我们为什么要使用借口编程,其实这是应用了一种企业应用架构模式
Repository(仓储)
一种用来封装存储,读取和查找行为的机制,它模拟了一个对象集合。
支持在领域和数据映射层之间实现彻底分离和单向依赖关系的目标。
接口编程
最主要的目的是使关注点分离,让开发人员各司其职
代码封存保密,分包开发,无需要给予逻辑结构代码,只需要给予接口文件
缺点:设计困难,比传统的三层,单类模式困难,但是接口程序员工资都很高!
AOP(面向方面编程)
我们为了弥补面向对象缺陷,我们系统将引入面向方面编程
主要用于日志记录,事务处理,异常处理等等。
概念这种东西过于模糊,我们必须经历过一个大系统才能认识这些概念模型。我无法用文章来下详细解析此系统的深层概念,需要大家在日常工作中实践和意会,推荐一本.net的设计书籍《Microsoft .NET企业级应用架构设计》这本书详细的讲述了接口编程,面向方面编程
通过上面我们需要构建项目的解决方案。
虽然MVC的controller层包含了逻辑,但是对于一个大系统,我们不可能把业务和数据库底层包含在一起,虽然提供了Models模型文件夹,在第二讲我把他删除了,我们将这一层Model层提取出来,任何层的设计都好,都是从三层设计模式衍生出来的,本系统也不例外。我们是基于接口编程的仓储模式,所以我们必须有BLL,IBLL,DAL,IDAL的对应类库。
好,现在我们右键我们的解决方案吧。分别建立
App.BLL (业务层)
App.IBLL (业务层接口)
App.DAL (数据层)
App.IDAL (数据层接口)
App.Models (模型)
App.Common(通用类库)
App.Core (核心类库)
图:
添加:EF5.0 VS2012旗舰版默认已经集成安装了EF5.0我们把他存放到App.Models类库下
右键----添加新建项