面向对象的七个原则和三个特性

面向对象的几个原则

面向对象的几个原则七大基本原则单一职责原则开放封闭原则⭐️里氏替换原则接口隔离原则依赖倒置原则(DIP)迪米特原则组合/聚合复用原则

面向对象开发来说,有那么几个原则需要了解、理解、实践中反思和践行。

面对对象和面对过程的区别在于,面向对象提升了抽象级别。

抽象本身就是分治的逆向使用。

软件越来越庞大,很难处理过来,所以通过抽象,对软件复杂度进行分级降级。所以抽象的目的就是软件计算的核心目标:复杂度管理。

我对面向对象编程的目标从来就不是复用。相反,对我来说,对象提供了一种处理复杂性问题的方式。这个问题可以追溯到亚里士多德:您把 这个世界视为过程还是对象?在面向对象兴起运动之前,编程以过程为中心,例如结构化设计方法。然而,系统已经达到了超越其处理能力的复杂性极点。有了对象,我们能够通过提升抽象级别来构建更大的、更复杂的系统-----我认为,这才是面向对象编程运动的真正胜利。

----Grady Booch

七大基本原则

  1. 单一职责原则(SRP, Single responsibility principle)

  2. 开放封闭原则(OCP, Open closed principle)

  3. 里氏替换原则(LSP)

  4. 接口隔离原则(ISP,Interface segregation principle)

  5. 依赖倒置原则(DIP, Dependence inversion principle)

  6. 迪米特原则(LOD)

  7. 组合/聚合复用原则

单一职责原则

定义:规定一个类应该只有一个发生变化的原因。

核心目的:解耦和增强内聚性。

难点:职责的划分

职责:是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。

单一职责原则从职责(改变理由)的侧面上为我们对类(接口)的抽象的颗粒度建立了判断基准:在为系统设计类(接口)的时候应该保证它们的单一职责性。

降低了类的复杂读、提高类的可读性、提高系统的可维护性、降低变更引起的风险。

开放封闭原则⭐️

定义:对于扩展是开放的,对于修改是封闭的。

核心目的:确保可拓展性。

难点:抽象

实现开闭原则的关键在于“抽象”。把系统的所有可能的行为抽象成一个抽象底层,这个抽象底层规定出所有的具体实现必须提供的方法的特征。作为系统设计的抽象层,要预见所有可能的扩展,从而使得在任何扩展情况下,系统的抽象底层不需修改;同时,由于可以从抽象底层导出一个或多个新的具体实现,可以改变系统的行为,因此系统设计对扩展是开放的。

在软件开发过程中,一直都是提倡需求导向的。这就要

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值