Java框架自学视频教程下载:应用开发框架

时间秒杀一切 提交于 2020-08-11 13:18:56

  一、概述

  Web应用架构可以划分为两大子系统:前端子系统和后台子系统。

  前端子系统:

  1.基础技术:Html/Javascript/CSS/Flash

  2.开发框架:jQuery,Extjs,Flex等;

  后台子系统:

  1.基础技术:JavaServlet;

  2.开发框架:Struts,Spring,Hibernate,ibatis等;

  3.应用服务器:Tomcat/Jetty

  编程模型:B/S模型。客户端向服务器端发送请求,服务器经过处理后返回响应,然后客户端根据响应及需求绘制前端展现。

  在用户客户端和实际提供功能的Web服务器之间还可能存在着代理服务器,负载均衡服务器,不过那些属于锦上添花的事物,暂时不在考虑范围内。

  客户端应用理念:客户端承担大量的交互逻辑及渲染工作,服务器端主要是处理请求和返回数据。

  前后端系统耦合:客户端和服务器端各自处理自己内部的子系统耦合;而客户端与服务器端的耦合简化为一个通信与数据通道。该通道用来传输通信请求和返回数据。

  请求通信:采用Http/Tcp协议

  数据通道:采用Json,xml,文本字符串,字节。内部系统一般采用Json作为数据交换格式;系统间的互操作则采用XML来规范;文本字符串是最一般的形式,字节是最底层的形式。

  二、架构演变

  最轻的架构:jQuery+Servlet+ajax在客户端使用jQuery发送ajax请求给Java服务端的Servlet进行处理,Servlet仅仅返回数据给客户端进行渲染。

  该架构有效地分离了前端展示和后台请求处理,同时又保持了最轻的复杂性,只需要学会编写Servlet及使用jQuery,就能构建简单的应用。

  如果只是做个人创意演示,可以采用该架构,快速实现自己的创意功能。Servlet是Javaweb应用的基础技术,jQuery则是前端开发的简单易用的利器。

  后台架构演变:

  1.逻辑与页面的分离:JSP/Servlet

  JSP实现了页面逻辑与外观的分离,但是,前端子系统与后台子系统仍然是紧密耦合的;前端设计人员实际上只需要服务端返回的数据,就可设计出非常专业的界面显示。

  2.MVC架构:Struts2(含Servlet,MVC)+JDBC

  用Servlet来添加服务器功能是基本的选择,但在web.xml中配置大量的Servlet却不是最佳的选择。

  Struts2在服务端实现了更丰富的MVC模式,将本来由应用决定的控制器从web容器中分离。

  3.SSH架构:Struts2(含Servlet,MVC)+Spring(Ioc)+Hibernate(ORM,对象-关系映射)

  通常,应用系统中需要预先创建一些单例对象,比如Controller,Service,Dao,线程池等,可以引入SpringIoc来有效地创建、管理和推送这些对象;使用Hibernate来实现关系数据库的行与面向对象的属性之间的映射与联接,以更好地简化和管理应用系统的数据库操作。SSH可以说是JavaWeb应用系统开发的三剑客。

  4.SI架构:SpringMVC(含Servlet,Ioc,MVC,Rest)+iBatis(Semi-ORM)

  过于复杂的架构会将人搞晕。因此,在适应需求的情况下,尽量选择简单的架构,是明智之选。这种架构使用面向资源的理念,着重使用Spring作为MVC及应用基础服务设施,同时使用iBatis来实现更简单灵活的ORM映射,使之在可以理解和维护的范围内。

  前端架构:

  1.Flash架构:Flex+jQuery+JSP

  这是一种比较传统的前端架构,采用同步模式,Flex承担大量的页面渲染工作,并采用AMF协议与Java端进行通信,而JSP则可以用于更快速的页面显示。优点是:经过考验的结构,通常是值得信赖的;缺点是,由于采用同步模式,在交互效果上可能不够流畅,需要进行比较耗时的编译过程;此外,Flex基于浏览器插件运行,在调试方面有些麻烦。

  2.MVC架构:Extjs+jQuery

  这是一种比较现代的前端架构,采用异步模式,Extjs4可以实现前端子系统的MVC分离,对于可维护性是非常不错的支持;此外,jQuery可以作为有效的补充。

  优点:异步,快速,对于企业内部的后台管理系统是非常好的选择。

  缺点:Extjs4的可定制性、可适应性可能难以适应各种特殊的需求,需要用其它组件来补充,比如大数据量的绘制。对于互联网应用,速度可能是致命伤。

  三、架构的选择

  不要去询问哪种架构更好,更需要做的是清晰地定位项目目标,根据自己的具体情况来选择和定制架构。反复地尝试、观察和改进,反复磨炼技艺,这样才有助于设计水平的提升。

  架构的选择通常有四种关注点:

  1.适用性:是否适合你的项目需求。架构有大有小,小项目用小架构,大项目用大架构。

  2.可扩展性:该架构在需要添加新功能时,是否能够以常量的成本添加到现有系统中,所做的改动在多大程度上会影响现有功能的实现(基本不影响,还是要大面积波及)。

  3.便利性:使用该架构是否易于开发功能和扩展功能,学习、开发和测试成本有多大。

  4.复杂性:使用该架构后,维护起来的成本有多大。你自然希望能够写一条语句做很多事,使用各种成熟的组件是正确的方式,同时,在项目中混杂各种组件,也会提升理解和维护系统的复杂度。便利性和复杂性需要达到较好的平衡。

  特殊的关注点:

  譬如,应用需要支持高并发的情况,需要建立一个底层的并发基础设施,并向上层提供简单易用的接口,屏蔽其复杂性。

  四、架构演进的基本手段

  架构并不是一成不变的,在做出最初的架构之后,随着开发的具体情况和需求的变更,需要对最初架构做出变更和改进。

  架构演进的基本手段:

  一致性,隔离与统一管理,螺旋式重构改进,消除重复,借鉴现有方案。

  1.一致性:确保使用统一模式来处理相同或相似的功能;解决一次,使用多次。

  2.模块化、隔离与统一管理:对于整体的应用,分而治之,将其划分为隔离性良好的模块,提供必要的通信耦合;对于特定的功能模块,采用隔离手段,将其隔离在局部统一管理,避免分散在系统的各处。

  3.不断重构改进,一旦发现更好的方式,马上替换掉原有方式。

  4.尽可能重用,消除重复。

  5.尽可能先借鉴系统中已有方案并复用之;如果有更好方案可替换之;

  有一条设计准则是:预先设计,但不要过早设计。

  意思是说,需要对需求清楚的部分进行仔细的设计,但是对于未知不清楚的需求,要坚持去理解它,但不要过早地去做出“预测性设计”;设计必须是明确的、清晰的、有效的,不能针对含糊的东西来设计。可以在后期通过架构演进来获得对后续需求的适应能力。

  以上就是小编介绍的“Java框架自学视频教程下载:应用开发框架”的内容,关注动力节点,想了解更多Java技术知识或视频资源留言给小编。

郑州做试管婴儿多少钱http://www.changhong120.com/ 

郑州看不孕不育哪家医院好http://www.zzchyy110.com/ 

郑州看不孕不育哪家医院好http://byby.zztjyiyuan.com/ 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!