博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象基本原则
阅读量:6246 次
发布时间:2019-06-22

本文共 817 字,大约阅读时间需要 2 分钟。

面向对象基本原则

分为五大原则和一大法则,其基本目的就是创建高内聚(类内成员关系)、低耦合(类之间关系)的代码。类之间关系中继承的耦合度最高,尽量使用组合和聚合的方式替代继承。

1.单一职责原则(Single Responsibility Principle)

不要把一个模块的所有功能都放在一个类里,要根据职责划分对类进行拆分。两个不一样的功能就不应放在一个类里,一个类里的方法应该是相关性很高的一组函数。

2.开闭原则(Open Close Principle)

软件系统应该对扩展开放,对修改封闭。当需要添加新功能或对已有功能增加另一种实现时,使用if-else方式添加新的功能模块,就必须破坏已有代码才能实现扩展。在重构时应该将变化多的类似功能(输入输出相同,内部实现不同)抽象为接口,使用注入(接口实现类传入调用者类中)的方式实现,后期有扩展需求只要实现接口进行注入就完成了扩展。实现热插拔,提高扩展性。

3.里氏替换原则(Liskov Substitution Principle)

任何基类出现的地方,子类也一定可以出现。核心原理就是要进行抽象,抽象依赖于继承。涉及继承和多态。

4.依赖倒置原则(Dependence Inversion Principle)

高层次的模块不依赖于低层次模块的具体实现,高层次依赖抽象,低层次也依赖抽象,抽象不依赖细节。抽象指抽象类或接口,重点就是面向接口编程。模块间的依赖通过抽象发生,实现类之间不直接发生依赖关系,其依赖关系通过接口或抽象类产生。

5.接口隔离原则(Interface Segregation Principle)

类之间的依赖应该建立在最小的依赖之上。其目的是系统解开耦合,从而更容易的重构、更改和重新部署。让客户端依赖的接口尽可能的小。

6.迪米特法则(Law of Demeter)

一个对象应该对其他对象有最少的了解,只与直接对象通信。功能模块尽可能的独立。

转载地址:http://sjmia.baihongyu.com/

你可能感兴趣的文章
php 记住密码自动登录
查看>>
NSThread创建线程的三种方法
查看>>
Logger.getLogger与LogFactory.getLog
查看>>
HDU4671 Backup Plan(构造序列-多校七)
查看>>
一些难得一见的代码问题
查看>>
Read–eval–print loop
查看>>
如果我是面试官 我要出什么题目(常更新)
查看>>
初识nginx
查看>>
React Native
查看>>
最优化
查看>>
HDU1495 非常可乐
查看>>
CCF NOI1071 Pell数列
查看>>
Studio快捷键
查看>>
75. Sort Colors(按颜色进行排序)(leetcode)
查看>>
4_文件与目录权限
查看>>
SQLServer 2008 R2 清空日志文件
查看>>
总结第八天
查看>>
向空对象添加数据以及for in 遍历
查看>>
基础才是重中之重~理解内存中的栈和堆
查看>>
js错误问题 The operation is insecure.
查看>>