博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习MVC之租房网站(一)-项目概况
阅读量:4628 次
发布时间:2019-06-09

本文共 1305 字,大约阅读时间需要 4 分钟。

这儿的MVC是ASP.NET MVC,只用过C#一种语言,后面就直接称呼为MVC了。

一年多没接触MVC后,现在想用MVC做个网站,觉得特别吃力,以前学的仅仅是皮毛,所以闲置了一年后,MVC知识就重新归零了。

这几周学习MVC的过程中,博客园葡萄城的MVC汇总资源给了我很大的帮助(http://www.cnblogs.com/powertoolsteam/archive/2015/08/13/4667892.html),尤其是“ASP.NET MVC 音乐商店”系列教程,学完音乐商店后,对Model-View-Controller有了基本的了解。但遗憾的是,关于EF Code First模式的使用,文章作者使用了DB Migration,还提供了一个非常庞大复杂的seed文件,用来初始化数据库,随后全程就与数据库没什么事了,这让人在项目完成后,对数据库部分仍然摸不着头脑;还有就是关于用户登录和权限控制,作者使用了微软提供的网站配置工具,就是下面这个

 

所以,关于权限控制也是一处让人困惑的地方。最要命的是,VS2017发布后,第一时间安装了,但却发现新版本取消了网站配置工具,而代之以“功能更加强大的”Authentication,下面就是了

 

试用后发现仍然是一头雾水,怪只怪自己不会搞权限控制呗,但不管是网站配置工具还是Authentication,这两货都绝对不会再用了。

 

为了继续学习MVC,开始了租房网站的实践。

 

网站介绍和具体功能

网站按惯例分为前台、后台两部分,前台供用户查找待出租房子的信息、预约看房;后台供管理员发布、管理房源信息,进行用户统一管理、权限控制等操作

网站仍会使用EF与Code First,但不会执行DB Migration,关于数据库的修改都要手动执行(这算什么Code First)。

关于权限控制,会使用高大上的RBAC权限控制方式,哈哈,Role-Based-Access-Control,基于角色的权限控制,说白了就是我们平时使用广泛的权限-角色-用户体系了

还将实现日志系统,对后台用户的登录、修改操作以及整个网站的未处理异常进行记录

 

项目结构

项目整体结构如下:

 

公用类库提供一些前后台通用的方法,比如生成验证码、计算MD5等。

 

项目分层

MVC只针对UI层,从UI到数据库仍要分层,但考虑到项目很小,如果用三层架构,BLL层发挥不了什么作用,这次就让这个悲催的二传手先歇着了。省略BLL后,只有UI层和Service层了,如下:

 

但在Controller和Service直接增加了IService接口,这样做除了显得高大上,最重要的原因是为了学习IOC。DTO用于在Service和Controller之间传递数据。

 

好了,这是记录租房网站的第一篇文章,也是开通这个公众号后的第一篇文章。

受Yummy影响,也申请了公众号。之前的博客园已经荒废,现在敲了区区几百字后发现,写点什么东西的感觉真棒,以后但愿能坚持足够长的时间

 

博客园:

CSDN:

 

转载于:https://www.cnblogs.com/zhixin9001/p/6683715.html

你可能感兴趣的文章
Spring MVC 学习笔记 对locale和theme的支持
查看>>
ntp时间同步服务
查看>>
Windows搭建wnmp
查看>>
请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
查看>>
12用户体验
查看>>
http://bbs.phome.net/showthread-13-45519-0.html
查看>>
POJ 1008 Maya Calendar / UVA 300【日期转换/常量数组】
查看>>
Java工具类-转换字符编码
查看>>
Pycharm中如何安装python库
查看>>
C++ transform for_each
查看>>
MySQL安装ODBC驱动出现126错误
查看>>
Redis持久化
查看>>
linux xampp eclipse xdebug 无法进入断点
查看>>
app启动时间命令
查看>>
Eclipse下修改工程名
查看>>
request.getSession()
查看>>
iphone 在设置了initial-scale=1 之后,在设置滚动条之后,没有滑动效果的解决办法...
查看>>
虚拟目录
查看>>
面向对象的3大特性
查看>>
Express4.x API (四):Router (译)
查看>>