什么是设计模式,以及相关的设计模式有哪些

内容:设计模式是解决特定问题的固定方法,‌它描述了如何解决常见的设计问题,‌使得代码可以更加灵活、‌可重用。‌设计模式通常具有普遍性、‌可重用性和灵活性等特点,‌它们提供了一种可重用的解决方案,‌帮助开发者避免重复发明轮子,‌并适应不同的应用场景

原则:提高软件的可维护性、‌可复用性和可扩展性的重要指导原则,这些原则包括:‌

  1. 单一职责原则:‌一个类应该只有一个引起它变化的原因。‌这意味着一个类应该只负责一项职责,‌遵循单一职责原则可以使代码更容易维护和理解。‌
  2. 开闭原则:‌软件实体如类、‌模块和函数应对扩展开放,‌对修改封闭。‌这意味着当软件需要变化时,‌应通过扩展软件实体的行为来实现变化,‌而不是修改已有的代码。‌
  3. 里氏替换原则:‌子类型必须能够替换掉它们的基类型。‌这意味着父类可被子类替换,‌但反之不一定成立。‌
  4. 依赖倒置原则:‌高层模块不应依赖于低层模块,‌两者都应依赖于抽象;‌抽象不应依赖于细节,‌细节应依赖于抽象。‌
  5. 接口隔离原则:‌使用多个专门的接口比使用单一的总接口更好。‌
  6. 合成/聚合复用原则:‌尽量使用对象的组合/聚合,‌而不是继承关系达到复用的目的。‌
  7. 迪米特法则:‌一个对象应对其他对象有尽可能少的了解,‌也称为最少知道原则。‌

分类:设计模式可以分为三大类:‌创建型模式、‌结构型模式和行为型模式。‌创建型模式关注对象的创建过程,‌如单例模式和抽象工厂模式。‌结构型模式关注类和对象的组合方式,‌如聚合和组合关系。‌行为型模式关注算法和对象间的通信方式,‌如责任链模式和命令模式。‌

  1. 创建型模式:‌

    • 单例模式:‌确保一个类只有一个实例,‌并提供一个全局访问点。‌例如,‌在Java中,‌单例模式常用于管理系统的日志行为。‌
    • 抽象工厂模式:‌提供一个创建一系列相关或相互依赖对象的接口,‌而无需指定它们具体的类。‌例如,‌在系统中有多于一个的产品族时,‌可以使用抽象工厂模式来创建对象。‌
  2.  

    结构型模式:‌

    • 聚合关系:‌表示类A包含类B,‌但类B可以独立存在。‌例如,‌手机和充电线之间的关系,‌充电线是手机的一部分,‌但充电线也可以独立存在。‌
    • 组合关系:‌表示类A包含类B,‌且类B不能独立存在。‌例如,‌屏幕是手机的一部分,‌没有手机,‌屏幕就失去了存在的意义。‌
  3.  

    行为型模式:‌

    • 责任链模式:‌多个对象处理一个请求,‌每个对象都有机会处理该请求,‌如果处理不了则传递给下一个对象。‌例如,‌在英语课上传递纸条的游戏中,‌每个同学都有机会处理请求(‌是否接受纸条上的提议)‌。‌
    • 命令模式:‌将请求封装为一个对象,‌从而让你使用不同的请求把客户端的行为异化,‌增加新功能只需增加新的命令类。‌例如,‌通过命令模式实现消息的传递和处理。‌
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值