面向对象设计原则

用户头像
elfkingw
关注
发布于: 2020 年 06 月 14 日
面向对象设计原则

什么的代码设计是好的设计,设计要遵循什么的原则,有没有方法可寻。下面给大家介绍一下面向对象语言中设计有哪些原则。

设计的目的是什么?

对于面向对象语言来说设计的终极目的是“高内聚,低耦合”,那“高内聚,低耦合能带来什么好处呢?有如下几点好处:

  • 易扩展-易于增加新功能

  • 更强壮-不容易被粗心的程序员破坏

  • 可以移植-能够在多样的环境下运行

  • 更简单-容易理解、容易维护



如何才能达到上述设计的目标,有人总结出了面向对象的几个设计原则(OCP):

  1. 开闭原则(OCP)

对扩展是开发的(Open for extension)

对于修改是关闭的(Closed for modification)

简而言之:不需要修改软件实体(类、模块、函数等),就应该能实现功能的扩展,实现的关键就是抽象



2.依赖倒置原则(DIP)

高层模块不能依赖与低层模块,而是大家都依赖于抽象

  • DIP倒置了什么?

模块或包的依赖关系

开发的顺序和职责

  • 软件的层次化

高层不依赖于低层

高层被重用



3.liskov替换原则(

若对每个类型T1的对象O1,都存在一个类型T2的对象O2,使得在所有针对T2编写的程序P中,用o1替换O2后,程序p的行为功能不变,则T1是T2的子类型

简而言之:子类必须能够替换掉它的父类



4.单一责任原则(SRP)

一个类,只能有一个引起它变化的原因



5.接口分离原则(ISP)

不要强迫客户程序依赖它们不需要的方法



用户头像

elfkingw

关注

还未添加个人签名 2018.02.04 加入

还未添加个人简介

评论

发布
暂无评论
面向对象设计原则