老婆出轨 发表于 6 天前

【软考-体系架构计划师】计划模式三大类型剖析

https://i-blog.csdnimg.cn/direct/9e7198cc60f84a1293f75b3f28fbe58e.png#pic_center
计划模式三大类型深度剖析

一、创建型模式(Creational Patterns)

核心目的:解耦对象的创建与使用过程,提供灵活的对象天生气制,降低体系对具体类的依赖。
实用场景:需要动态创建对象、隐藏对象创建细节或优化资源复用率的场景。
1. 单例模式(Singleton)



[*]定义:确保一个类仅有一个实例,并提供全局访问点。
[*]实现方式:饿汉式(类加载时初始化)、懒汉式(延迟加载)、双重校验锁(线程安全)等 。
[*]应用案例:全局配置管理、数据库连接池、日志处置惩罚器。
2. 工厂方法模式(Factory Method)



[*]定义:定义一个创建对象的接口,由子类决定实例化的具体类。
[*]优势:支持扩展(新增产物只需增长子类),符合开闭原则 。
[*]典型应用:日志记录器(文件日志、数据库日志)、UI组件天生。
3. 抽象工厂模式(Abstract Factory)



[*]定义:提供一个接口,用于创建相关或依赖对象的家属,而无需指定具体类。
[*]场景:跨平台UI库(如Windows/Mac风格的按钮、文本框统一天生)。
4. 制作者模式(Builder)



[*]定义:将复杂对象的构建与其表示分离,使同样的构建过程可创建差别情势的产物。
[*]特点:分步构造、支持链式调用,实用于多参数对象(如HTTP哀求配置)。
5. 原型模式(Prototype)



[*]定义:通过复制现有实例创建新对象,避免重复初始化开销。
[*]实现:实现Cloneable接口,深拷贝与浅拷贝需区分 。
[*]应用场景:游戏中的角色复制、文档模板天生。
二、结构型模式(Structural Patterns)

核心目的:通过组合类或对象形成更大结构,提升体系灵活性和可维护性。
实用场景:需要简化对象间关系、扩展功能或优化资源使用的场景。
1. 适配器模式(Adapter)



[*]定义:将一个类的接口转换为客户端期望的另一个接口,解决接口不兼容问题。
[*]类型:类适配器(继承)、对象适配器(组合)。
[*]案例:旧体系接口兼容(如将XML数据接口适配为JSON格式)。
2. 桥接模式(Bridge)



[*]定义:将抽象部门与实现部门分离,使两者可独立变化。
[*]优势:避免多层继承导致的类爆炸,支持多维度扩展(如外形与颜色的组合)。
3. 装饰模式(Decorator)



[*]定义:动态地为对象添加额外职责,替代继承扩展功能。
[*]应用:Java I/O流(BufferedReader装饰FileReader)、GUI组件增强。
4. 组合模式(Composite)



[*]定义:将对象组合成树形结构以表示“部门-团体”条理,使客户端统一处置惩罚单个对象和组合对象。
[*]典型场景:文件体系目次结构、菜单树管理。
5. 代理模式(Proxy)



[*]定义:为其他对象提供代理以控制访问,常见类型包罗虚拟代理(延迟加载)、掩护代理(权限控制)和长途代理(网络通讯)。
[*]案例:Spring AOP中的动态代理、图片懒加载。
6. 享元模式(Flyweight)



[*]定义:通过共享技术淘汰大量细粒度对象的内存消耗。
[*]实现:分离内部状态(共享)与外部状态(非共享),如字符池、线程池。
三、活动型模式(Behavioral Patterns)

核心目的:优化对象间的通讯与职责分配,增强体系活动的灵活性和可扩展性。
实用场景:需要管理复杂交互逻辑、动态调解活动或实现松耦合的场景。
1. 观察者模式(Observer)



[*]定义:定义对象间的一对多依赖关系,当一个对象状态改变时,所有依赖对象自动收到关照并更新。
[*]实现:Java中的java.util.Observable、事件监听机制。
2. 策略模式(Strategy)



[*]定义:封装一组算法,使其可互相更换,算法变化独立于客户端。
[*]优势:避免多重条件判断,支持动态切换(如付出方式选择)。
3. 模板方法模式(Template Method)



[*]定义:在父类中定义算法骨架,将某些步调延迟到子类实现。
[*]应用:框架计划(如Spring的JdbcTemplate)、业务流程标准化。
4. 状态模式(State)



[*]定义:允许对象在其内部状态改变时改变活动,对象体现得像改变了类。
[*]案例:订单状态流转(待付出、已发货、已完成)。
5. 责任链模式(Chain of Responsibility)



[*]定义:将哀求沿处置惩罚链传递,直到有对象处置惩罚它。
[*]场景:审批流程、异常处置惩罚链。
6. 命令模式(Command)



[*]定义:将哀求封装为对象,支持哀求的排队、记录、打消等操作。
[*]应用:GUI按钮操作、事务回滚机制。
总结与对比

类别核心关注点典型模式计划原则体现创建型模式对象创建的灵活性与解耦单例、工厂方法、抽象工厂单一职责、开闭原则结构型模式类与对象的组合与结构优化适配器、桥接、装饰合成复用、接口隔离活动型模式对象间的交互与职责分配观察者、策略、模板方法依赖倒置、里氏更换 计划原则关联:


[*]单一职责原则:工厂方法模式将对象创建职责分离。
[*]开闭原则:策略模式通过扩展新算法而非修改现有代码实现功能增强。
[*]合成复用原则:组合模式通过对象组合而非继承构建条理结构。
通过合理运用这三大类计划模式,能够构建高内聚、低耦合的软件体系,有用应对需求变化与体系扩展的寻衅。具体模式的选择需结合业务场景与体系目的,避免过度计划。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【软考-体系架构计划师】计划模式三大类型剖析