热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ExtJs5+Spring.Net+MVC项目搭建笔记--整体框架构建(1)

1.首先新建一个名为"ExtJS5Example2"的solution(解决方法),Location:自定义存放路径,Name:是当前被创建的应用程序的名字,命名为ExtJS5Ex

1.首先新建一个名为"ExtJS5Example2"的solution(解决方法),Location:自定义存放路径,Name:是当前被创建的应用程序的名字,命名为ExtJS5Example2.Mvc.Web,选择Visual ->Web->Asp.Net MVC4 Web Application的模板,点击"OK"按钮

需要注意的是:"solution Name"和"Name"差别很大,前者生成出来的文件是以".sln"结尾的,后者是以".csproj"结尾的,前者包括后者

选择Basic(基础的)的MVC4模板,


2.生成了如下的项目


3.本实例是一个三层架构的系统,除了步骤2中的web Application,我们还需要创建业务逻辑层和数据访问层

数据访问层需要创建一个ExtJS5Example2.IDal的接口和实现该接口的ExtJS5Example2.Dal

业务逻辑层Bll同样分为接口类和实现类

<1>在solution上右击-Add-New Project,打开如下页面,选择“Class Library”(类库),Name:输入“ExtJS5Example2.Bll”,

Class Library(类库):是一个综合性的面向对象可重用类型集合,这些类型包括:接口、抽象类和具体类,在我们这个项目中除了"ExtJS5Example2.Mvc.Web"是一个ASP.NET Web Application,其他的project均为Class Library类型的project

Bll层:业务逻辑层,主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。

Dal层:.数据访问层(DAL - Data Access Layer),主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。


<2>按照<1>的操作再创建Dal层,IBll层和IDal层,如下图


4.MVC:全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写

在我们这个例子中ExtJS5Example2.Mvc.Web是视图(View),因此我们还缺模型(model)和控制器(controller)

按照步骤3的<1>继续添加Controller和Model


5.以上7个project 基本满足这个项目的需求,但是呢,在实际应用中很多项目里面都会再加一个名为Framework的Project和名为Framework的物理文件夹,前者用来存放一些通用方法或者是扩展方法,后者则是存放一些被引用的dll文件

<1>因此我们需要按照步骤3的<1>继续添加ExtJS5Example2.Framework


<2>在solution上右击选择"Open folder in windows explorer",打开项目文件所在路径之后,新建一个名为Framework的物理文件夹,如下图,这个文件夹用来存放所有的被引用的dll文件


<3>在solution上右击“Add”,选择“New Solution Folder”,并将其重命名为“Framework”,需要注意的一点是这个文件夹是不会生成对应的物理文件夹的,所以我们在我们后面的编程中我们需要将<2>的物理路径中Framework文件夹中的dll文件添加至项目中


6至此,我们这个项目的整体结构就搭建出来了

首先,大体上来看这是一个三层架构的系统

ExtJS5Example2.Bll是业务逻辑层,处理业务的核心

ExtJS5Example2.Dal是数据访问层,对数据库进行增删改查,

ExtJS5Example2.Mvc.Web是界面层

其二,该项目按照MVC的模式来设计的

ExtJS5Example2.Mvc.Web是View(视图),用于显示数据

ExtJS5Example2.Model是Model(模型),本例中model的定义用于存放实体类

ExtJS5Example2.Mvc.Controllers是Controller(控制器) 处理简单的逻辑,用于连接Web层和Bll层,处理业务的核心还是在Bll层中进行

其三:ExtJS5Example2.Framework这个Project 用于存放整个项目中一些公用的方法和扩展方法,同时在下面的介绍中我们会将Spring.Net的一些配置文件和StringResource.resx文件放在其中,Framework文件夹和物理路径上的Framework文件夹本质上是没有关联的,我们只不过是将物理路径里面的dll文件加入到这个文件夹中而已。

其四:本例中很好地将MVC和三层架构很好的结合了起来,数据流向是按照Web->Controller->Bll->Dal->Sql Server(数据库)->Dal->Bll->Controller->View传递的,每一层的功能分得特别的清晰,方便维护



推荐阅读
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
  • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
  • 本文介绍了MVP架构模式及其在国庆技术博客中的应用。MVP架构模式是一种演变自MVC架构的新模式,其中View和Model之间的通信通过Presenter进行。相比MVC架构,MVP架构将交互逻辑放在Presenter内部,而View直接从Model中读取数据而不是通过Controller。本文还探讨了MVP架构在国庆技术博客中的具体应用。 ... [详细]
  • SpringBoot简单日志配置
     在生产环境中,只打印error级别的错误,在测试环境中,可以调成debugapplication.properties文件##默认使用logbacklogging.level.r ... [详细]
author-avatar
黑马@梦想
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有