【java设计模式学习】Java代码设计中有哪些模式?

代码记心中,知识记脑海。——宏然依依

一、Java 创建型设计模式

  1. 工厂模式:创建对象而不将创建逻辑暴露给客户端。
    接口——>实现接口的具体类——>核心工厂模式Factory类

2.抽象工厂模式:工厂中的工厂,首先使用超级工厂创建工厂,然后使用创建的工厂创建对象;

3.单例模式:只涉及一个单独的类,它负责创建自己的对象。
该类确保只创建单个对象。提供一种访问其唯一对象的方法;

4.生成器模式:用于使用简单对象创建复杂对象。它从小而简单的对象逐步创建更大的对象。

5.原型模式:有助于创建具有更好性能的重复对象,返回一个现有对象的克隆,而不是创建新的对象;

二、Java 结构型设计模式
1.适配器模式:用来统一两个不兼容的接口。例如播放不同类型的格式文件,利用接口来创建适配器模式即可;

2.桥接模式:将定义与其实现分离;使得具体类与接口实现者类无关;这两种类型的类可以改变而不影响对方。
3.过滤器/标准模式:过滤器模式使用不同的条件过滤对象;
标准可以通过逻辑操作链接在一起。
4. 组合模式:创建一组对象的树结构;将一组对象视为单个对象;
使用一个类来表示树结构;创建一个包含自己对象的类的组。
5.装饰模式:装饰模式在不链接其结构的情况下向现有对象添加新功能;
充当现有类的包装器;创建一个装饰器类来包装原始类并提供其他功能。
6.外观模式:隐藏了系统的复杂性;为客户端提供一个简单的接口,客户端使用接口与系统交互。
7.代理模式:一个类代表另一个类的功能;创建具有原始接口的对象,以将其功能暴露给外部世界。

三、Java 行为型设计模式
1.责任链模式:即请求创建一个接收者对象列表;
当使用责任链模式时,通常每个接收器包含对另一个接收器的引用;
如果一个对象不能处理请求,则它将相同的对象传递给下一个接收者,等等;
2.命令模式:是数据驱动设计模式;
请求被作为命令的对象包装传递给invoker对象;
Invoker对象将命令传递到相应的对象并且该对象执行该命令。
3.迭代器模式:以顺序方式访问集合对象的元素,而不知道其底层表示。
4.观察者模式:用于在一个对象被修改时通知其相关对象。
5.中介者模式:减少多个对象之间的通信;此模式提供了一个处理不同类之间的所有通信的中介类。
6.解释器模式:通常用以评估语言语法或表达。
7.状态模式:在状态模式中,类行为基于其状态而改变;当使用状态模式时,我们创建各种状态对象和上下文对象,其行为随着其状态对象改变而变化。
8.空对象模式:在空对象模式中,创建一个无业务对象,包括 null 对象。
我们使用无业务对象来替换空指针检查。
我们称之为一个无业务的对象Null对象。
Null对象在数据不可用时提供默认行为。
在空对象模式中,我们通常创建一个抽象类来指定各种操作。
Null Object和具体类都将扩展这个抽象类。
Null Object类只提供空逻辑。
9.策略模式:在策略模式中,可以在运行时更改算法。
在策略模式中,我们创建表示各种算法的对象和运行算法的上下文对象。
策略对象更改上下文对象上的算法。
10.模板方法模式
父抽象类公开几个抽象方法供子类实现。在父抽象类中有另一个方法或几个方法使用抽象方法来实现业务逻辑。
11.访问者模式
元素对象接受访问者对象,而访问者对象处理元素对象上的操作;可以从不同的访问者改变元素的执行算法;
12.MVC模式
模型 - 视图 - 控制器模式;
Model(模型)- 模型表示携带数据的对象。它也可以具有逻辑来更新控制器,如果其数据改变。
View(视图)- 视图表示模型包含的数据的可视化。通常它有UI逻辑。
Controller(控制器) - 控制器引用模型和视图。它控制数据流进入模型对象,并在数据更改时更新视图。它保持视图和模型分开。
四、JEE 设计模式
Java 数据访问对象模式(DAO模式)
通常具有以下接口和类:
数据访问对象接口定义模型对象的标准操作。
数据访问对象类实现以上接口。可能有多个实现,例如,一个用于数据库,一个用于文件。
模型对象简单的POJO包含get/set方法来存储数据。

[宏然依依学习笔记]
教程及代码学习链接:https://www.w3cschool.cn/java/java-factory-pattern.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值