Java有哪些企业级设计模式?常见的企业级设计模式

设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式可以让代码更容易被他人理解、保证代码可靠性,那Java有哪些企业级设计模式?下面来我们就来给大家讲解一下。

一、创建型模式

工厂模式:创建工厂接口类(规范),子类(工厂)实现业务。

抽象工厂模式:工厂的创建由子类决定,其子类的子类实现业务。(也称为超级工厂模式)

单例模式:系统中保持一个实例,实例方法私有,公开全局访问方法。

建造者模式:由多个简单对象组合为一个复杂对象的创建对象的方法。适用于内部属性复杂但组合固定的场景。

原型模式:通过拷贝原对象生成新对象,以提高性能或避开构造方法实例化对象。

二、结构型模式

适配器模式:在成型的项目中,通过新增或改造某些接口类(并实现),以支持更多功能。(关键词:后天扩展)

桥接模式:设计阶段,通过接口层面的联系,使得独立变化的两个系统可以业务组合。

过滤器模式:也称标准模式。结合多个标准过滤一组对象,以获得期望的对象。

组合模式:也称部分整体模式。组合为树形结构来表达个体与整体的关系,并且由于这种组合,使得个体与整体的差异可以被忽略。(关键字:节点 列表)

装饰器模式:在保留原有结构和功能的基础上,构造新对象并增加新的功能。

外观模式:隐藏系统复杂性,对外提供访问接口。

享元模式:尽量利用已有对象,减少新建对象,以提高性能和减少内存占用。如 java string,数据库连接池。

代理模式:不直接访问目标,通过访问其代理来间接访问它。 (访问控制、 额外处理等)

三、行为型模式

责任链模式:请求将沿着接收者链传递下去,处理或者不处理完全在运行时决定。如 java filter, 击鼓传花。

命令模式:将命令包裹在对象中并传递给调用对象,调用对象会将该命令对象传给实际执行命令的对象,并由其执行命令。

解释器模式:提供解释语法或表达式的方式。(编译器)

迭代器模式:提供一种方法遍历集合而无需了解其底层。(java iterator)

中介者模式:由中介类处理不同类间的通信以降低多个类之间通信的成本。

备忘录模式:保存状态以备可能的恢复操作。(游戏存档)

观察者模式:观察到目标发生变化时,将通知所有依赖于该目标的对象并更新。(listener,watch)

状态模式:对象的行为基于其状态改变而改变。

空对象模式:以空对象取代null。此处的空对象(不一定是 new Object())可以在数据不可用时提供默认属性或行为。

策略模式:准备多种算法(策略)以应对策略关注对象的变化。

模板模式:公开定义执行步骤或算法骨架,具体实现在子类进行。可以使用抽象类实现某些重用方法。

访问者模式:根据访问者不同而作出不同响应。一般有一个接待者。

四、J2EE模式

MVC模式:即 Model-View-Controller(模型-视图-控制器) 模式,用于程序分层开发,也是目前常用的项目开发模式。

业务代表模式:客户端 - 业务代表 - 查询服务 - 业务服务;

组合实体模式:用于持久化模式中,当更新粗粒度对象时,其依赖对象将被自动更新。

数据访问对象模式:DAO模式,实体 - 查询接口 - 查询实现类;

前端控制器模式:统一处理所有的前端请求,进行请求授权/过滤等操作,之后将这些请求分发到对应的处理程序。

拦截过滤器模式:对请求做一些预处理/后处理,通过预处理的将被分发到对应的处理程序。

服务定位器模式:JNDI 查找服务后将进行缓存以备后续调用。

传输对象模式:用以客户端与服务端数据传输。如业务对象给传输对象填充数据,再将其传到客户端。

这些就是常见的企业级设计模式,我们一定要熟知这些模式,方便大家在设计程序的时候使用,提高工作效率。最后大家如果想要了解更多java常见问题知识,敬请关注奇Q工具网。

推荐阅读:

javabean具有哪几种属性?javabean任务是什么?

java测试类test怎么写?编写测试代码技巧

java程序培训多少钱?java线上培训好还是线下好?