ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇

   前言:博客又有一段时间没有更新了,心里感觉这段时间空空的,好像什么都没有学下,所以就想写博客,所以就有了这个系列,这里当然也要感谢大家了,因这个项目我已经上传了,得到了很多网友的评价,也有好多人发邮件给我说这个框架容易出现问题,不能访问,这也是支持我写这个系列的动力,我将这个项目写成一个系列,可能要很长时间吧,但是我肯定会一直坚持,如果我哪里写的不好欢迎大家指出我们共同学习,而且我理解的也不是很透彻,所以我想在写这样一遍博客,后面如果有时间的话我会录制视频,当然,这个完全就是为了自己锻炼口才,大家莫怪呃,现在我们首先来对这个项目进行一个整体的概述

1.项目目录

   (1)我想在这个页面做一个目录,来方便我们的记录,当我发表一篇博客的时候,我就会修改这里,来方便大家的观看,也是为了我以后能够方便的看。

   (2)目录结构如下:

   总结       ASP.NET MVC+EF框架+EasyUI实现权限管理系列

   开篇       ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇

   第01篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(1):框架搭建

   第02篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(2):数据库访问层的设计Demo

   第03篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(3):面向接口的编程

   第04篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(4):业务逻辑层的封装

   第05篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(5):前台JqueryEasyUI前台实现

   第06篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(6):EF上下文实例管理

   第07篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(7):DBSession的封装

   第08篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(8):DbSession线程内唯一

   第09篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(9):TT模板的学习

   第10篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(10):VSS源代码管理

   第11篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(11):验证码实现和底层修改

   第12篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(12):实现用户异步登录和T4模板

   第13篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(13):权限设计

   第14篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(14):主框架搭建

   第15篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(15):权限数据库模型和用户登录详细错误

   第16篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(16):用户注册的各种验证

   第17篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(17):注册用户功能的细节处理

   第18篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(18):过滤器的使用和批量删除数据(伪删除和直接删除)

   第19篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(19):用户信息的修改和浏览

   第20篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(20):多条件查询和回收站以及还原的实现

   第21篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(21):用户角色权限基本的实现说明

   第22篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(22):为用户设置角色

   第23篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(23):设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

   第24篇   ASP.NET MVC+EF框架+EasyUI实现权限管系列(24):权限组的设计和实现(附源码)

2. 项目的前世        

    (1)博客园过程

       在2012年12月13日我病刚好的时候写了这篇博客,当时我只是简单的讲整个项目截了几张图并且说明了一下,便将项目上传到了csdn,所以我们还是要自己捉摸代码,现在2013年3月22日我将这个项目写成系列,希望大家喜欢,当然这个项目也不是我自己独自写的,所以我还要感谢我的老师,但是如果women能学了那就是我们的东西了。

    (2)博客园地址:http://www.cnblogs.com/hanyinglong/archive/2012/12/13/mvc.html

3.项目准备和技术工作           

   (1)下面我大致介绍一下我们项目中将要用到的软件和一些技术上的补充。

   (2):开发工具:Visual Studio 2012

   (3):数据库:SQL Server 2012

   (4):代码管理工具使用SVN,这个我的项目中我不准备用了,但是我会准备时间写篇博客来了解一下它的使用。

   (5):ASP.NET MVC的处理流程,也就是熟悉一下MVC框架。

   (6):EasyUI的使用,这个技术又Demo,大家可以下载看一下。

   (7):Entity FrameWork框架的使用。

   (8):面向对象的理解,为什么说这个呢,因为这个项目我是按照面向对象(这么说也不对),大家可以看着理解一下。

   (9):后面会用到什么技术,这个暂时没想到,等用到了我会补充在这里,如果大家有什么好的建议的话也可以说一下。

4.为什么使用MVC而不是用WebForm呢?

  (1)为什么使用MVC而不是用WebForm呢?这个是我临时想的,因为我就是想说明一下WebForm和MVC的优缺点,来可以使大家能够更好地理解MVC和WebForm,而不像某些人说MVC会替代WebForm,我个人认为这个可能性很小,因为各有各的好处,看在哪里使用吧,下面我就简单介绍下WebForm和MVC的优缺点。

   (2)WebForm介绍

  1)优点

       1):支持事件模型,取决于微软提供了丰富的服务器端组建,WebForm可以快速的搭建Web应用。

       2):使用非常方便,入门也很容易,但是要了解底层还是要付出很大的努力的,这就是我们.NET程序员被称为只会拖控件的原因。

       3):微软提供了很大的一部分控件,也有很多公司开发出来了很多的控件来供我们程序员使用。

  2)缺点

       1):封装性特强,很多从底层封装出来的东西让我们初学者不是非常明白。

       2):入门非常容易,但是如果不研究底层的话提升非常困难,所以我们一定有时间的话要研究底层。

       3):复杂的生命周期模型学习起来并不是非常的容易,好多事件。

       4):控制不是非常的灵活,服务器控件的控制非常不容易。

       5):ViewState处理,在请求和响应之间来回的传递,当我们使用WebForm开发完网站之后,我们可以在浏览器中右键查看源代码会看到很多的ViewState,非常浪费资源和浪费服务器宽带。

       6):异步请求的时候每个请求后台必须都有一个一般处理程序或者aspx页面对应。

  (3)MVC

       1)优点

       1):MVC很容易的将复杂的应用分成M,V,C三个组件模型相对应,通过Model,View,Controler有效的简化了复杂的架构,体现了非常好的隔离原则。

       2):因为没有使用server-based forms(事件响应模型),所以能够使我们程序员控制起来更加的灵活,页面更加的干净。

       3):可以控制自定义的URL,也就是MVC中的路由机制,这可以说是MVC的一个亮点,再也不用我们在WebForm时代的配置静态页的过程了。而且对于SEO友好。能够更加的利用网络爬虫。

       4):强类型的View实现,更加的安全,更加的可靠,更加的高效。

       5):让Web开发者(程序员)可以更加的专注某一个层的开发,有利于我们分工配合使用大型架构的开发。

        6):MVC下面对异步的处理更加有一个很好的支持,一个控制其下面可以有很多action,而每个action对应的可以有不同的请求。

        7):MVC的校验非常的好,我们只需要给每个方法打入节点就可以实现不能为空等校验。

              [requred]

              Public string Name{get;set;}

       8):表单提交的时候,提供了自动装配的功能。

       9):微软提供了很多全局的过滤器(身份校验过滤器,异常过滤器,Action过滤器,视图结果过滤器),这些都是MVC带来的新功能,使我们的开发能够更加的快速开发。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。