java EE在web开发中常用的设计模式有哪些?好处是什么

java EE在web开发中常用的设计模式有哪些?好处是什么,第1张

当然是23种设计模式

1、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点

2、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。

3、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。

4、Builder,建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。

5、Prototype,原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。

行为型有:

6、Iterator,迭代器模式:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示。

7、Observer,观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。

8、Template Method,模板方法:定义一个 *** 作中的算法的骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重定义该算法得某些特定步骤。

9、Command,命令模式:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的 *** 作。

10、State,状态模式:允许对象在其内部状态改变时改变他的行为。对象看起来似乎改变了他的类。

11、Strategy,策略模式:定义一系列的算法,把他们一个个封装起来,并使他们可以互相替换,本模式使得算法可以独立于使用它们的客户。

12、China of Responsibility,职责链模式:使多个对象都有机会处理请求,从而避免请求的送发者和接收者之间的耦合关系

13、Mediator,中介者模式:用一个中介对象封装一些列的对象交互。

14、Visitor,访问者模式:表示一个作用于某对象结构中的各元素的 *** 作,它使你可以在不改变各元素类的前提下定义作用于这个元素的新 *** 作。

15、Interpreter,解释器模式:给定一个语言,定义他的文法的一个表示,并定义一个漏仿解释器,这个解释器使用该表示来解释语言中的句子。

16、Memento,备忘录模式:在不破坏对象的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。

结构型有:

17、Composite,组悉蔽合模式:将对象组合成树形结构以表示部分整体的关系,Composite使得用户对单个对象和组合对象的使用具有一致性。

18、Facade,外观模式:为子系统中的一组接口提供一致的界面,fa?ade提供了一高层接口,这个接口使得子系统更容易使用。

19、Proxy,代理模式:为其他对象提供一种代理以控制对这个对象的访问

20、Adapter,适配器模式:将一类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。

21、Decrator,装饰模式:动态地返陆纤给一个对象增加一些额外的职责,就增加的功能来说,Decorator模式相比生成子类更加灵活。

22、Bridge,桥模式:将抽象部分与它的实现部分相分离,使他们可以独立的变化。

23、Flyweight,享元模式

好处是遵循7大设计原则

1.开闭原则(Open Close Principle)

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

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

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

5.组合/聚合复用原则

6.迪米特法则(Law Of Demeter)

7.单一职责原则(Single Responsibility Principle)

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种方案


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12471481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存