设计模式

本文深入探讨设计模式的概念,包括其定义、分类及其在项目环境中的应用。着重阐述对象设计的六大原则,并详细解析组合复用原则、多用组合、少用继承等核心思想。此外,文章还介绍设计模式的分类,如创建型、结构型和行为型模式,并通过实例说明这些模式如何帮助企业解决实际问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是设计模式?

模式:在某些场景下,针对某类问题的某种通用解决方案
场景:项目环境
问题:约束条件,项目目标等
解决方案:通用、可以复用的设计,解决约束,达到目标

2.设计模式的分类

创建型模式:对象实例化的模式,创建型模式解耦了对象的实例化过程
结构型模式:把类或对象结合在一起形成更大的结构
行为型模式:类和对象如何交互,及划分责任和算法

3.对象设计的6大原则

  • 组合复用原则
    多用组合,少用继承
    找到变化部分,抽象,封装变化
    区分“Has-A”与“Is-A”
  • 依赖倒置原则
    依赖:成员变量、方法参数、返回值
    要依赖于抽象,不要依赖于具体
    高层模块不应该依赖低层模块,二者都应该依赖其抽象
    抽象不应该依赖具体,具体应该依赖抽象
    针对接口编程,不要针对实现编程
  • 开闭原则
    对扩展开放,对修改关闭
    通过扩展已有软件系统,可以提供新的功能
    修改的关闭,保证稳定性和延续性
  • 迪米特法则
    一个对象应该与其他对象保持最少的了解。只与直接朋友交谈。
    成员变量、方法参数、方法返回值中需要的类为直接朋友
    类与类之间的关系越密切了解越多,耦合度越大
    尽量降低类与类之间的耦合
    外观模式、中介者模式
  • 里氏替换原则
    所有引用基类的地方必须能透明地使用其子类对象
    子类在扩展父类功能时不能破坏父类原有的功能
    使用继承时,遵循里氏替换原则:
    子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
    当子类重载父类方法时,方法的形参要比父类方法的参数更宽松
    当子类实现父类的抽象方法时,方法的返回值要比父类更严格
  • 单一职责原则
    类应该只有一个导致类变更的理由
    即一个类只负责一项职责

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值