ASP.NET MVC5 网站开发实践(一) - 项目框架
前几天算是开题了,关于怎么做自己想了很多,但毕竟没做过项目既不知道这些想法有无必要,也不知道能不能实现,不过邓爷爷说过“摸着石头过河”吧。这段时间看了一些博主的文章收获很大,特别是@kencery,依葫芦画瓢开写。
目录:
ASP.NET MVC5 网站开发实践(一) - 框架(续) 模型、数据存储、业务逻辑
ASP.NET MVC5 网站开发实践(二) - 用户部分(1)用户注册
ASP.NET MVC5 网站开发实践(二) - 用户部分(2)用户登录、注销
ASP.NET MVC5 网站开发实践(二) - 用户部分(3)修改资料、修改密码
一、基本框架
还是先说下基本框架吧,一下子搞了7个项目看着挺乱的,我的理解是M、V、C 3者中,M是数据载体,V是用户要看的试图,C主要是协调控制与用户界面相关的操作,而数据的处理,数据库的的操作交给DAL、BLL来做。整个思路就是:View是用户看到的界面;Controller负责协调用户操作的东西,需要或处理数据时找业务逻辑层;业务逻辑层需要访问数据库时又找数据访问层;数据访问层通过EF与Sql Server进行交互;各层之间数据交互的媒介就是Model。
这里IBLL和IDAL是接口,功能都在BLL和DAL中实现了,看似有些多余,其实还是很有用处。一个是接口只实现方法定义看起来一目了然;另一个是只要接口不变,不管实现的代码怎么写项目间的调用都不会变。

二、项目建立
1、建立Web项目。
选择 模板->Visual C#->Web->ASP.NET Web应用程序。
这里与vs2012中有一个显著地变化,webform、mvc 、api等做的一个模板中了。如图

如果想像以前一样开发怎么办? 点开web-> Visual Studio 2012 是不是熟悉的感觉又回来了。

我们这里还是选择Web->ASP.NET Web应用程序 确定。

这里选择MVC(可以选择添加webform、api的引用,把以前的几种项目杂烩到一起。这里只选MVC),身份验证选个人用户账户,这样会添加最新的ASP.NET Identity的使用代码(其实选什么无所谓,这里不打算使用ASP.NET Identity,用户管理还是自己来做,选上它是想看看微软的代码是怎么写的)。
2、建立其他6个项目
在解决方案上点右键->添加->新建项目
项目类型选择->Visual C# –>Windows->类库。

以此建立其他六个项目。
完工后框架如下:

三、项目之间的引用
项目建立好之后要添加项目间的引用。
在web项目的引用上点右键,选择解决方案->项目 添加Ninesky.Models、 Ninesky.Common、 Ninesky.IBLL、 Ninesky.BLL的引用
依次:IDAL添加Ninesky.Models引用
DAL添加Ninesky.Modles、 Ninesky.IDAL引用
IBLL添加Ninesky.Modles引用
BLL添加Ninesky.Models、 Ninesky.IDAL、 Ninesky.DAL、 Ninesky.IBLL引用
另外DAL Models要在Nuget上添加 EntityFramework的引用。方法是项目引用上点右键选择管理NUGET程序包。在弹出窗口中选 联机->nuget.org->EntityFramework 然后点安装就可自动完成安装。

四、总结
到此框架算是搭完了。这里web项目代表了mvc中的v和c。modle项目代表了m。common项目准备写公共方法。其他4个项目算是三层架构中的间数据数据访问层和业务逻辑层,另外还是用了面向接口。下次终于可以写代码了。
ASP.NET MVC5 网站开发实践(一) - 项目框架的更多相关文章
- ASP.NET MVC5 网站开发实践(一) - 项目框架(转)
前几天算是开题了,关于怎么做自己想了很多,但毕竟没做过项目既不知道这些想法有无必要,也不知道能不能实现,不过邓爷爷说过“摸着石头过河”吧.这段时间看了一些博主的文章收获很大,特别是@kencery,依 ...
- ASP.NET MVC5 网站开发实践(二) Member区域–管理列表、回复及删除
本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP ...
- ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询
上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NE ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构
咨询.留言.投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言.投诉都是咨询).咨询跟文章非常相似,而且内容更少.更简单. ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章
上次做了显示文章列表,再实现修改和删除文章这部分内容就结束了,这次内容比较简单,由于做过了添加文章,修改文章非常类似,就是多了一个TryUpdateModel部分更新模型数据. 目录: ASP.N ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 全部文章列表
显示文章列表分两块,管理员可以显示全部文章列表,一般用户只显示自己的文章列表.文章列表的显示采用easyui-datagrid.后台需要与之对应的action返回json类型数据 目录 ASP.N ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章
上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东 ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 文章管理架构
上次把member的用户部分完成,现在开始做文章管理部分.文章部分根据涉及显示现实文章列表,发布文章,修改文章,删除文章等功能.最终的实现目标是使用权限来控制用户是否能进行相应操作,管理员权限的会显示 ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(3)修改资料、修改密码
在上一篇博客中实现了用户的注销和登录,其实代码里落了点东西,就是用户登录要更新最后一次登录时间和登录IP,这次补上.今天做修改资料和修改密码,TryUpdateModel是新用到的东西. 目录: AS ...
随机推荐
- phpstorm常用快捷键
mac电脑phpstorm快捷键 command + a 全选 command + c 复制 command + v 粘贴 command + z 撤消 fn+comma ...
- Drawing in Singapore
说到画画,其实很多人都会画.只是很多人都把这种潜能给埋起来了,没有特意的去开发出来.且不论画的好与不好,好看与不好看.自己把自己所想的东西方式表达出来,画画是一种方式.我不是科班出身,全凭自己感觉来的 ...
- 原生js模拟锚点,实现点击后,内容定位到本页的对应位置
今天在做angularJS项目过程中,遇见了一个需求,在一个页面中有多个表格,每个表格都有对应的分页,点击顶部对应的模块,可以定位到每个表格模块具体的位置. 页面如下所示: 在angular中,为了使 ...
- 关于 IE6、 IE7兼容性总结(转)
其实浏览器的不兼容,我们往往是各个浏览器对于一些标准的定义不一致导致的,因此,我们可以进行一些初始化,很多问题都很轻松解决. 下面是14条特殊情况仅供参考: 1. 文字本身的大小不兼容.同样是font ...
- APP设计资源
在开发独立客户端时,需要一些不同尺寸的图标和图片,统计如下. APP 图标 ICON iOS:(主要需要这三类图标) 58x58 87x87 (Spotlight & Settings) 80 ...
- ajax+div 代替iframe 学习尝试
工作的时候遇到了所谓html内多tab展示的情况,主要是通过iframe来关联子页面: 不过也不知道从何时开始记得是说iframe不建议多用,所以想想,还是找找有没有其他方法(不应用于工作): 先说下 ...
- C++风格的回调对象方法. 采用template实现
今天看了一篇文章,收藏一下代码.读一读很有激情 #include <iostream> #include <string> #include <vector> us ...
- form data和request payload的区别
HTML <form> 标签的 enctype 属性 在下面的例子中,表单数据会在未编码的情况下进行发送: <form action="form_action.asp&qu ...
- Python join()函数
今天写python 100例时,有个题目是大致是这样的:已知输入形式是1+3+2+1,要求输出形式为1+1+2+3 一开始思路是将输入的字符串用split()函数划分成数组,在对数组进行排序,再用fo ...
- 编译安装PHP的参数 --with-mysql --with-mysqli --with-apxs2默认路径
编译安装PHP时指定如下几个参数说明: --with-apxs2=/usr/local/apache/bin/apxs //整合apache,apxs功能是使用mod_so中的LoadModule指令 ...