面向对象设计原则

一、面向对象设计原则
设计原则名称设计原则简介
单一职责类的职责要单一,不能将太多的职责放在一个类中
开闭原则软件实体对扩展开发,但对修改是关闭的,即在不修改一个软件的基础上去扩展其功能
里氏代换原则在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象
依赖倒转原则要针对抽象层编程,而不要针对具体类编程
接口隔离原则使用多个专门的接口取代一个统一的接口
合成复用原则在系统中应该尽量多使用组合和聚合关联关系,尽量少使用甚至不使用继承关系
迪米特法则一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用,而是通过引入一个第三者发生间接交互
二、设计模式的分类

设计模式一般有两种分类方式:根据其目的可分为创建型、结构型和行为型三种;根据范围,即模式主要是用于处理类之间的关系还是处理对象之间的关系,可分为类模式和对象模式两种。

2.1 创建型、结构型和行为型
  • 创建型模式主要用于创建对象,GoF提供了5种创建型模式,分别是工厂方法模式、抽象工厂模式、建造者模式、原型模式和单列模式。
  • 结构性模式主要用于处理类或对象的组合,GoF提供了7种结构型模式,分别是适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式。
  • 行为型模式主要用于描述对类或对象怎样交互和怎样分配职责,GoF提供了11种行为型模式,分别是职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。
2.2 类模式和对象模式
  • 类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。分别是工厂方法模式、适配器模式、解释器模式、模板方法模式。
  • 对象模式处理对象之间的关系,这些关系在运行时刻变化,更具动态性。分别是抽象工厂模式、建造者模式、原型模式、单列模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式、职责模式、命令模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、访问者模式。

根据合成复用原则,在系统设计时我们应该尽量用关联关系来取代继承关系,因此大部分模式属于对象模式,纯的类模式很少。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书香水墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值