首页

文章

Java web常用的开发模式中,你更青睐哪一种?

发布网友 发布时间:2022-03-27 12:44

我来回答

3个回答

热心网友 时间:2022-03-27 14:14

开发模式:

JAVA中的开发模式:

MVC是一个很常用的程序开发设计模式,M-Model(模型):封装应用程序的状态;V-View(视图):表示用户界面;C-Controlle

其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:


二、设计模式的六大原则

1、开闭原则(Open Close Principle)

开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。

2、里氏代换原则(Liskov Substitution Principle)

里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

3、依赖倒转原则(Dependence Inversion Principle)

这个是开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体。

4、接口隔离原则(Interface Segregation Principle)

这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。

5、迪米特法则(最少知道原则)(Demeter Principle)

为什么叫最少知道原则,就是说:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

6、合成复用原则(Composite Reuse Principle)

原则是尽量使用合成/聚合的方式,而不是使用继承。

热心网友 时间:2022-03-27 15:32

Java Web常见的开发模式有:
1、JSP+JAVABEAN开发模式:
特点:该模式将业务逻辑与页面表现进行分离,在一定程度上增加了程序的可调试性和维护性。
缺点:页面将控制与显示集于一身。
结论:简单,适合小型项目的快速构建与运行。
2、JSP+Servlet+JavaBean开发模式:
特点:JSP作为视图,来表现页面;Servlet作为控制器,控制程序的流程并调用业务进行处理;JavaBean封装了业务逻辑。遵循了MVC设计模式。
缺点:没有统一的开发框架导致开发周期长。
3、Struts开发方案:
特点:成熟的MVC开发框架。
构成:
控制器:ActionServlet 组件:Struts框架的*控制器。
RequestProcessor 组件:每个子模块都具有的请求处理器。
Action 组件:业务代理,它将调用模型进行一项具体的业务逻辑处理。
视图:主要由JSP页面构成
还包括HTML文档;标准标签库(JSTL)和Struts标签库;
JavaScript脚本和CSS样式;
多媒体文件;
消息资源文件;
ActionForm类。
模式:通常在Structs中使用其他模型组建来实现业务逻辑。
如:JavaBean技术、EJB技术、Hibernates设计模式。
结论:对于一些大型的项目,Struts框架会提高开发效率,并对后期的维护有很大好处。
4、Spring开发方案:
特点:拥有IOC和AOP两种先进的技术为基础,完美的简化了企业级开发的复杂度,是一个理想的Web程序框架。
构成:核心模块:实现了IOC模式,包含BeanFactory类负责对JavaBean的配置与管理。
上下文模块:继承BeanFactory类,添加了事件处理、国际化、资源装载、透明装载以及数据校验等功能,提供了框架式的Bean访问方式和很多企业级功能。
如:JNDI访问、支持EJB、远程调用、继承模板框架、E-mail和定时任务调度等。
AOP模块:提供了用标准Java语言编写的AOP框架,
使应用程序抛开EJB的复杂性,但拥有传统EJB的关键功能。
DAO模块:提供了JDBC的抽象层,并且提供了对声明式事物和编程式事务的支持。
Web模块:建立在上下文模块基础之上,提供了Servlet*的Context和Web应用的上下文。
对现有的Web框架如:JSF、Tapestry、Struts等提供了集成。
O/R映射模块:提供了对现有ORM框架的支持如Hibernate。
Spring MVC框架:建立在核心模块之上,嫩够适应于多种多视图、模板技术、国际化和验证服务,
实现控制逻辑和业务逻辑清晰的分离。
5、Struts+HIbernate开发方案:
特点:利用Struts的MVC设计模式,与Hibernate持久化对象组成的开发方案。
6、Struts+Spring+Hibernate开发方案:
特点:Struts负责表示层,Spring负责逻辑层的业务,Hibernate持久层中数据库的操作,组成的开发方案。
7、SpringMVC+Spring+MyBatis方案:
与ssh的区别是springmvc取代struts,mybatis取代hibernate,是现在最常用的javaweb开发方案
8、写在最后
但是,现在的趋势是微服务,前后端完全分离,因此直接使用javaweb来构建web项目已经不是首选了。
使用springboot做后台,vue、react等框架做前端才是更流行的做法。
综上,选择第7或第8种方案

热心网友 时间:2022-03-27 17:06

我更偏向前后端分离的开发模式,肯定也是未来的趋势。
贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 3岁孩子不会说话,应该挂什么科? 3岁小孩不会说话正常吗 鹿茸炖乌鸡怎么做? 新型冠状肺炎吃什么药可以预防 冰箱上电后一直响 食品生产许可证编号开头为“ G”。 库存过期香精 什么是web开发、web开发框架? 在web开发领域中经常使用几种设计模式? Web开发中的MVC模式含意 怎么理解web开发?为什么称现在是web2.0时代?(要详细介绍) Web程序开发中通常采用什么模式 web开发是什么? 什么是 web 开发 如果我搭建一款web网站,可采取哪两种开发方式? javaweb的几种开发模式 web里面的c/s与b/s分别是什么,web开发室开发c/s多,还是b/s多 web开发是b/s还是c/s结构 什么是计算机的串行、并行接口? 计算机接口,什么是计算机接口 计算机的外部接口的常见类型有哪些 串行口是做什么的,并行口又是做什么的? 在计算机中什么是串行接口、并行接口? 并行端口和串行端口有什么区别? 主板上外部接口中的并行接口与串行接口是接什么的啊?急用谢谢拉~~ 什么是并行接口?什么是串行接口?紧急 ATX结构的主板包括多种接口,其中并行口主要与什么设备连接? Web开发与B/S的区别? java EE在web开发中常用的设计模式有哪些?好处是什么 什么是主流Web浏览器的开发模式 什么是web开发 拼多多和天猫一起登入一个IP地址没事吗? 拼多多同一IP地址可以上多个店铺吗 登过拼多多主账号的IP是不是不能在注册拼多多? 用代理ip登录拼多多店铺靠谱吗 怎么把拼多多多店铺分开,不在一个页面显示 拼多多什么是关联店铺,2个不同身份证不同发货地址在同一台电脑登入算不算是关联店铺?_问一问 拼多多店主可以查买家的地址吗? 怎么用苹果手机养号拼多多 iphone微信蓝牙权限在哪打开? 苹果蓝牙权限在哪设置方法 苹果蓝牙怎么开启呢 iphone微信蓝牙权限在哪打开 苹果手机微信蓝牙权限在哪打开 苹果6s蓝牙怎样设置权限 苹果手机蓝牙允许新连接怎么打开 苹果6微信蓝牙权限设置下拉选项只有一个
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com