
Java常用设计模式再相识
发布日期:2021-05-27 02:54:08
浏览次数:27
分类:精选文章
本文共 1106 字,大约阅读时间需要 3 分钟。
在Java开发中,设计模式是解决常见问题的有效工具。通过理解工厂模式、构建者模式、代理模式和其他结构型、行为型模式,开发者可以提高代码的可维护性和复用性。以下是对这些建设计模式的简要总结:
创建型模式
工厂模式:
- 核心:通过一个抽象接口和多个实现类,统一地创建对象。
- 适用场景:当有多个不同的对象创建逻辑时,使用该模式减少直接依赖,提高灵活性。
- 示例:
FoodFactory
接口和具体实现类可以根据需要生成不同类型的食物对象。
构建者模式:
- 核心:封装对象的构建过程,通过链式调用设置属性,最后建造所需对象。
- 适用场景:构造复杂对象时,尤其是属性较多的情况下,通过设定器链简化配置。
- 示例:
UserBuilder
通过链式方法逐步设置用户属性,最终构造User
对象。
结构型模式
代理模式:
- 核心:通过代理对象增强被代理类的功能,而不改变其本身代码。
- 适用场景:在不修改现有类的情况下,增加额外功能,常采用于AOP(面向切面编程)。
- 示例:
FoodServiceProxy
在makeChicken
方法中增加了日志记录和数据增强。
适配器模式:
- 核心:转换或适配现有的接口或组件,使其与新系统兼容。
- 示例:将旧系统的接口组件与新系统相互适配,确保兼容性。
桥梁模式:
- 核心:提供一个统一的接口,桥接不同的实现。
- 示例:通过
DrawAPI
接口,桥接不同绘图工具(如蓝色笔、绿色笔等)的实现,实现统一调用的功能。
行为型模式
模板模式:
- 核心:定义一个操作的基本骨架,让子类可选实现细节步骤。
- 适用场景:标准化处理不变的步骤,而允许子类自定义具体实现。
- 示例:
AbstractTemplate
提供一个空的templateMethod
,子类如ConcreteTemplate
可根据需要扩展。
策略模式:
- 核心:通过不同策略实现选择行为,提供灵活的行为选择方式。
- 示例:在计算折扣时,可以根据不同的策略(如5折、7折)动态选择策略进行计算。
观察者模式:
- 核心:对象在状态变化时,通知其关注的观察者。
- 适用场景:实现系统间的数据同步和状态通知,如用户界面更新时不 distract 后端逻辑。
- 示例:
Subject
通知所有订阅者状态变化,BinaryObserver
和HexaObserver
相关操作的处理。
总结
设计模式的选择应基于具体问题和场景的需求。工厂模式适用于不同对象的创建,构建者模式适用于复杂对象的构造,结构型模式和行为型模式则关注类和对象间的结构和行为问题,提供灵活的解决方案。通过理解这些模式的特点和应用场景,开发者可以在项目中做出恰当的设计选择,提升代码质量和维护性。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月22日 12时05分07秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JDK9-15新特性
2019-03-11
TreeSet、TreeMap
2019-03-11
JVM内存模型
2019-03-11
可变长度参数
2019-03-11
3、条件查询
2019-03-11
cordova打包apk更改图标
2019-03-11
GitHub上传时,项目在已有文档时直接push出现错误解决方案
2019-03-11
文件系统的层次结构
2019-03-11
vue(渐进式前端框架)
2019-03-11
vscode设置eslint保存文件时自动修复eslint错误
2019-03-11
Remove Extra one 维护前缀最大最小值
2019-03-11
Linux操作系统的安装与使用
2019-03-12
C++ 继承 详解
2019-03-12
OSPF多区域
2019-03-12
Docker入门之-镜像(二)
2019-03-12
重置UAG Application admin密码
2019-03-12
嵌入式系统试题库(CSU)
2019-03-12
setup facatory9.0打包详细教程(含静默安装和卸载)
2019-03-12
Linux kernel pwn --- CSAW2015 StringIPC
2019-03-12