论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
Oracle
›
GOF23种设计模式
GOF23种设计模式
我爱普洱茶
论坛元老
|
2025-3-30 07:33:39
|
显示全部楼层
|
阅读模式
楼主
主题
1735
|
帖子
1735
|
积分
5205
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
GOF 23种设计模式
GOF(Gang of Four)提出的23种设计模式是面向对象软件设计的经典办理方案,分为
创建型、布局型、举动型
三大类。以下从
焦点思想、典范场景、优缺点
三方面详解每种模式:
一、创建型模式(5种)
焦点
:解耦对象的创建与使用,提拔灵活性和复用性。
单例模式(Singleton)
作用
:确保一个类仅有一个实例,提供全局访问点。
场景
:数据库连接池、日记管理器、全局配置。
优点
:减少内存开销;
缺点
:大概引入全局状态,扩展性差。
工厂方法模式(Factory Method)
作用
:界说对象创建接口,由子类决定具体实例化类。
场景
:动态扩展产物范例(如差别数据库驱动)。
优点
:支持开闭原则;
缺点
:新增产物需新增子类。
抽象工厂模式(Abstract Factory)
作用
:创建一系列干系对象家族(如跨平台UI组件)。
场景
:Windows/Mac风格的按钮、文本框组合。
优点
:保证产物兼容性;
缺点
:新增产物族需修改接口。
制作者模式(Builder)
作用
:分步骤构造复杂对象(如定制电脑配置)。
场景
:对象构造过程复杂且需灵活组合。
优点
:构造与表示分离;
缺点
:代码冗余。
原型模式(Prototype)
作用
:通过克隆创建新对象,制止重复初始化。
场景
:游戏仇人复制、文档模板克隆。
实现
:需处置惩罚深拷贝与浅拷贝题目。
二、布局型模式(7种)
焦点
:通过组合优化对象布局,提拔系统灵活性和扩展性。
适配器模式(Adapter)
作用
:转换接口使不兼容类协同工作(如旧系统接口升级)。
装饰器模式(Decorator)
作用
:动态添加对象功能(如带日记记录的数据库操纵)。
优点
:替代继承扩展;
缺点
:多层装饰复杂度高。
代理模式(Proxy)
作用
:控制对象访问(如耽误加载、权限验证)。
范例
:虚拟代理、掩护代理、远程代理。
外观模式(Facade)
作用
:为复杂子系统提供统一接口(如一键启动电脑)。
组合模式(Composite)
作用
:统一处置惩罚团体与部分(如文件系统中的文件与文件夹)。
享元模式(Flyweight)
作用
:共享细粒度对象以减少内存消耗(如文本编辑器字符池)。
桥接模式(Bridge)
作用
:分离抽象与实现(如差别外形与颜色组合)。
三、举动型模式(11种)
焦点
:优化对象间交互与职责分配,提拔系统协作效率。
观察者模式(Observer)
作用
:一对多依靠关系,状态变革时自动关照(如订单支付关照)。
战略模式(Strategy)
作用
:封装可互换算法族(如支付方式选择)。
模板方法模式(Template Method)
作用
:界说算法骨架,子类重写步骤(如冲泡咖啡与茶的通用流程)。
责任链模式(Chain of Responsibility)
作用
:沿处置惩罚链传递请求(如多层审批流程)。
命令模式(Command)
作用
:封装请求为对象,支持打消与队列(如遥控器控制家电)。
状态模式(State)
作用
:对象举动随内部状态改变(如订单状态流转)。
迭代器模式(Iterator)
作用
:统一遍历集合元素(如树形布局遍历)。
中介者模式(Mediator)
作用
:封装多对象通信(如谈天室消息转发)。
备忘录模式(Memento)
作用
:保存与恢复对象状态(如打消操纵)。
访问者模式(Visitor)
作用
:在不修改布局的条件下添加操纵(如文档导出为PDF/HTML)。
表明器模式(Interpreter)
作用
:剖析特定语法规则(如正则表达式剖析)。
焦点原则与记忆技巧
设计原则
:SOLID原则
记忆口诀
:
创建型
:单抽原件厂(单例、抽象工厂、原型、制作者、工厂方法)。
布局型
:适代装外组享桥(适配器、代理、装饰器、外观、组合、享元、桥接)。
举动型
:战略观察命令链,状态模板访问者。
应用总结
优先选择简单模式
:如工厂方法、战略、观察者。
制止过度设计
:仅在复杂场景(如多态交互、动态扩展)使用中介者、访问者等模式。
结合场景灵活运用
:比方电商系统常用工厂模式(商品创建)、观察者模式(订单状态关照)。
设计模式的实际应用发起
制止过度使用
:设计模式不是银弹,需根据场景选择。比方简单业务逻辑无需引入复杂模式。
结合框架特性
:如Spring框架自然支持工厂模式和代理模式,可直接使用其容器管理对象。
关注模式组合
:比方战略模式常与工厂模式结合,动态加载战略类。
扩展学习资源
书籍
:《设计模式:可复用面向对象软件的基础》(GoF经典著作)。
框架实践
:Spring源码中的单例、代理模式;React中的观察者模式。
进阶方向
:架构模式(如微服务中的网关模式)、并发模式(如线程池管理)。
通过理解设计模式的焦点思想与原则,
开发
者能更高效地应对复杂系统设计,制止“重复造轮子”。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
我爱普洱茶
论坛元老
这个人很懒什么都没写!
楼主热帖
事务
KAFKA EAGLE 监控MRS kafka之操作实践 ...
Java 中怎样将 bytes 转换为 long 类型 ...
大数据揭秘丨疫情影响下亚马逊女性夹克 ...
初学Vue(全家桶)-第16天(vue-router ...
Metasploit(msf)利用ms17_010(永恒 ...
OpenHarmony轻量系统开发【1】初始Open ...
信息系统安全运维整改参考
如何优雅的备份MySQL数据?看这篇文章 ...
Python教程:高级特性
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
Java
数据仓库与分析
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表