面向对象编程的基本原则

介绍

面向对象编程有6大基本原则,也叫“SOLID原则”,它是大家从工程实践中总结出来的经验。这些原则都是为软件工程服务的,遵守这些原则,对于你写代码而言,并不影响代码的正确性,而是关乎合理性。正像单词“SOLID”表达的,遵守这些原则可以帮助你构建“稳固可靠”的项目工程。 

这6大基本原则是:(首字母SOLIDD,两个D合并就成了SOLID)

  • Single Responsibility Principle 单一职责原则
    • 定义:一个类应该只有一个引起它变化的原因。
    • 关键点:职责分离,每个类专注于单一职责。
  • Open/Close Principle 开闭原则
    • 定义:软件实体(类,模块,函数等)应该对扩展开放,对修改关闭。
    • 关键点:通过扩展而非修改实现变化,增强软件的可维护性和可复用性。
  • Liskov Substitution Principle 里氏替换原则
    • 定义:子类必须能够替换掉它们的父类。
    • 关键点:子类行为必须与父类兼容,客户端可以无需知道是父类还是子类实例。
  • Interface Segregation Principle 接口隔离原则
    • 定义:客户端不应该依赖它不需要的接口。
    • 关键点:设计更小、更具体的接口,避免大而全的接口。
  • Dependency Inversion Principle 依赖倒置原则
    • 定义:高层模块不应该依赖低层模块,二者都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。
    • 关键点:依赖抽象而非具体实现,通过接口或抽象类编程。
  • Demeter Law 迪米特法则
    • 定义:一个对象应该对其他对象有最少的了解。
    • 关键点:减少对象之间的耦合,每个对象只和朋友交谈,不和朋友的朋友交谈。

这6大原则在实际生产过程中的生动实践就是“设计模式”。“设计模式”最初就是由美国四位著名的软件工程学者(被称为“四人帮”或GoF)提出的,于1994年发表。这些模式后来被收录在他们1995年出版的《设计模式:可复用面向对象软件的基础》一书中,包含23种设计模式。这些设计模式都是软件开发中经过验证的解决方案,可以帮助开发者避免重复发明轮子,提高开发效率和软件质量。

感悟

  • 软件工程是对“凡人”友好的。如果你是天才程序员,一个工程从头到尾你一个人全部能搞定,可能你写一个巨大的函数,把所有的事情全部做了,所有逻辑都在你脑子里面,这行不行?这当然可以,甚至不管从性能上还是开发效率上来说,这可能是效率最高的方式。但是我们是“凡人”啊,我们需要软件工程,需要模块化,把项目不断地拆解,拆到我们普通人能够驾驭地复杂度。英语有句话叫“tame complexity”,驯服复杂度,就是这个意思。
  • 了解这么多原则,其实都回归到一个关键字上“解耦”。简单说就是,我在开发一个东西的时候,你那边随便改,不会影响到我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值