前段时间一直在用MVC4写个网站开发的demo,由于刚开始学所有的代码都写在一个项目中,越写越混乱,到后来有些代码自己都理不清了。1月26日晚上在群里跟@怒放 他们讨论这个问题,结论是即使只是一个小demo也应该分层来写。正好看到别人在用MVC5写东西,喜新厌旧的我马上下载了Visual Studio 2013,幸好MVC4到MVC5变化不大,这次准备用MVC5重新写个Demo。 每次看以前写的代码总有把它丢进回收站的冲动,其实没有完美的代码,能解决问题的代码就算是好代码吧,但是我还是决定重新写一个学习的Demo,希望这次能有提高,希望这次能写完吧!
一、开发环境
1、开发环境: Visual Studio 2013
2、数据库:Sql Server 2012
3、代码管理:TFS(微软免费提供的)
说明:VS2013与vs2012感觉变化不大,我下载的是Pro版,数据库为vs2013自带的的sqlserver数据库。代码管理使用的是微软免费提供的tfs(现在叫Visual Studio Online了,免费版包括5个用户,无限制团队项目和私有代码存储库,对个人来说足够用了),我是经常外地,使用别的电脑,使用tfs的目的一是代码共享;二是做个备份。
二、使用的技术
前4项为创建项目的默认添加的,对Easyui这个是否使用我一直没想好,有时候觉得作为网站项目,非管理软件能不用还是尽可能不用吧。
说下mvc5吧,看介绍mvc5跟MVC4变化不大。
1、One ASP.NET。这个是asp.net的新特性,不应是MVC的,大致意思是可以把Web Forms,MVC,Web API等糅合在一个项目中,mvc中可以添加webforms的东西,可以添加api,其他项目也如此。
2、ASP.NET Identity。全新的会员身分系统(membership),一个是基于OWIN,另一个是使用Entity Framework Code First來管理,可以自己扩展用户字段等。
3、Bootstrap。做界面的好咚咚。可惜我不懂,正好这次学习一下。
三、项目结构
- Web项目:与用户进行交互的MVC项目。MVC中的试图和控制器部分,并适当定义视图与控制器间进行交互的试图模型(以ViewModel为后缀)。包含两个区域Member(用户区域),Manage(管理区域)。
- Models项目:模型类,一般是与数据库或项目之间交互数据的的类(不包括试图模型)。
- Common项目:放置一些公共方法,像加密,转换,生成验证码等。
- IDAL项目:数据访问层接口,定义通过EF与数据库进行操作方法。
- DAL项目:数据访问层,继承自IDAL并实现其定义的方法。
- IBLL项目:业务逻辑层接口,定义通过调用数据访问层并进行处理为Web项目提供服务的方法。
- BLL项目:业务逻辑层,继承自IBLL并实现其定义的方法。