博客
关于我
JAVA设计模式总结之23种设计模式
阅读量:363 次
发布时间:2019-03-04

本文共 1081 字,大约阅读时间需要 3 分钟。

设计模式概述与应用

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。其核心目标在于解决常见的软件开发问题,提高代码的可重用性和可维护性。

设计模式的分类

设计模式主要可分为三大类:

  • 创建型模式:解耦对象的实例化过程。常见的包括工厂模式、建造者模式等。
  • 结构型模式:将类或对象结合在一起形成更大的结构,如适配器模式、桥接模式等。
  • 行为型模式:定义类或对象之间的交互方式,划分责任和算法,如策略模式、观察者模式等。
  • 23种设计模式概述

    创建型模式

  • 工厂模式:通过工厂类创建对象,统一处理对象的创建过程。
  • 建造者模式:将对象的构建过程封装,支持按步骤构造复杂对象。
  • 原型模式:通过复制现有实例来创建新实例,减少资源消耗。
  • 对象池模式:管理对象的生命周期,优化资源使用效率。
  • 行为型模式

  • 访问者模式:在不改变数据结构的前提下,增加对一组对象的操作。
  • 模板模式:定义算法结构,延迟部分实现到子类。
  • 策略模式:封装一系列算法,支持动态替换。
  • 状态模式:允许对象在状态改变时改变其行为。
  • 观察者模式:建立对象间的一对多依赖关系。
  • 备忘录模式:保存和恢复对象内部状态。
  • 中介者模式:用中介对象封装对象交互。
  • 命令模式:将操作请求封装为对象,便于参数化。
  • 访问者模式:动态增加对象操作功能。
  • 责任链模式:解耦请求发送者和接收者。
  • 迭代器模式:提供一种遍历聚合对象元素的方法。
  • 结构型模式

  • 适配器模式:将一个类的接口转换为另一个接口。
  • 桥接模式:分离抽象部分和实现部分,支持独立扩展。
  • 组合模式:将对象组合成树形结构表示“部分-整体”关系。
  • 装饰模式:动态添加功能,扩展对象行为。
  • 外观模式:对外提供统一接口,简化子系统访问。
  • 亨元模式:通过共享技术支持细粒度对象。
  • 桥接模式:分离抽象与实现,支持独立演化。
  • 关键点总结

    • 单例模式:确保某个类仅有一个实例。
    • 工厂方法:定义对象创建接口,子类决定实例化。
    • 抽象工厂:创建对象家族,统一处理相关对象。
    • 建造者模式:封装构建步骤,支持任意复杂对象。
    • 原型模式:优化资源利用,减少对象创建开销。
    • 适配器模式:接口转换,支持不同系统间兼容。
    • 组合模式:层次化结构管理,支持灵活组合。
    • 装饰模式:动态功能扩展,保持对象一致性。
    • 外观模式:简化接口,降低使用门槛。
    • 桥接模式:解耦接口与实现,支持独立开发。

    设计模式为软件开发提供了丰富的经验和解决方案,帮助开发者更好地应对复杂问题,提升系统设计质量。通过合理应用这些模式,可以显著提高代码的可维护性和扩展性,是每个开发者不可或缺的工具。

    转载地址:http://zder.baihongyu.com/

    你可能感兴趣的文章
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 常用配置清单
    查看>>
    nginx 常用配置记录
    查看>>
    Nginx 我们必须知道的那些事
    查看>>
    Nginx 的 proxy_pass 使用简介
    查看>>
    Nginx 的配置文件中的 keepalive 介绍
    查看>>
    Nginx 负载均衡与权重配置解析
    查看>>
    Nginx 负载均衡详解
    查看>>
    nginx 配置 单页面应用的解决方案
    查看>>
    nginx 配置https(一)—— 自签名证书
    查看>>
    nginx 配置~~~本身就是一个静态资源的服务器
    查看>>
    Nginx 配置解析:从基础到高级应用指南
    查看>>
    nginx+Tomcat性能监控
    查看>>
    Nginx下配置codeigniter框架方法
    查看>>
    nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
    查看>>
    nginx添加模块与https支持
    查看>>
    Nginx用户认证
    查看>>
    Nginx的Rewrite正则表达式,匹配非某单词
    查看>>
    Nginx的使用总结(一)
    查看>>
    Nginx的使用总结(二)
    查看>>