设计模式-概述

设计模式是软件开发中的一种最佳实践,旨在解决常见问题并提高代码的可靠性、可重用性。文章介绍了设计模式的要素,包括模式名称、问题、解决方案和效果,并按照目的(创建型、结构型、行为型)和范围(类模式、对象模式)进行了分类。GOF设计模式作为经典案例被详细阐述,涵盖了如单例模式、工厂方法、策略模式等,这些模式有助于实现灵活、可扩展的系统设计。
摘要由CSDN通过智能技术生成

概述

设计模式时一套被反复使用、经过分类编目的、代码设计经验的总结,使用设计模式可以提高代码的可靠性、可重用性等。

目录

设计模式要素

  • 模式名称
  • 争对的问题
  • 解决方案
  • 效果

设计模式分类

按目的

  • 创建型模式
  • 结构型模式
  • 行为型模式

按范围

即模式是用于处理类之间的关系还是对象之间的关系

  • 类模式:处理类和子类的关系,关系通过继承而建立,是静态的
  • 对象模式:关系在运行时建立,是动态的

在系统设计时,我们应尽量用关联关系取代继承关系。

GOF设计模式

模式类别模式名称模式说明
创建型模式抽象工厂模式提供了一个创建一系列相关或互相依赖对象的接口,无须指定具体类
建造者模式将一个复杂对象的构建和表示分离,用同样的构建过程创建不同的表示
工厂方法模式将类的实例化操作延迟到子类中完成,由子类决定实例化哪一个类
原型模式通过给出一个原型对象来指定要创建的对象类型,然后复制原型来创建出更多的同类对象
单例模式确保系统中某一个类只有一个实例,而且自行实例化向整个系统提供该实例
结构型模式适配器模式将一个接口转换成客户希望的另一个接口,从而实现兼容
桥接模式将抽象部分和它的实现部分分离,让它们可以独立变化
组合模式通过组合多个对象形成树形结构以表示"整体-部分"的结构层次
装饰模式动态地给一个对象增加一些额外的职责
外观模式为复杂子系统提供一个统一简单的入口
享元模式通过共享技术有效地支持大量细粒度对象的复用
代理模式给某一对象提供代理,由代理者控制实际目标对象
行为型模式责任链模式请求发送者和接收者连接成一条链,沿着链传递请求
命令模式将请求封装为对象,使得请求调用者和请求接收者解耦
解释器模式描述如何为语言定义一个文法,如何表示以及解释这些句子
迭代器模式提供一种方法聚合对象,而不暴露对象的内部表示
中介者模式通过中介对象来封装一系列的对象交互,使得各个对象间不需要显式地相互引用,从而解耦
备忘录模式不破坏封装的前提下,捕获一个对象的内部状态,并在外部保存状态,后续可以将该对象恢复到原状态
观察者模式定义了对象间一种一对多依赖的关系,一个对象改变时,通知观察它的对象做出相应改变
状态模式允许一个对象在其内部状态改变时改变它的行为
策略模式定义一系列算法,并算法封装在类中,可以交互替换着给客户使用
模板方法模式定义一个操作中算法的股价,将其余步骤延迟到子类中去自定义
访问者模式表示一个作用于某对象结构中各元素的操作,使得用户在不改变各元素类的前提下定义作用于这些元素的新操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值