java面向对象设计的五大原则

简介: java面向对象设计的五大原则

文章目录

简介

(1)单一责任原则( Single Responsibility Principle, SRP)。

(2)开放-封闭原则(Open & Close Principle, OCP)。

(3)里氏替换原则(Liskov Substitution Principle,LSP)。

(4)依赖倒置原则(Dependence Inversion Principle,DIP)。

(5)接口分离原则( Interface Segregation Principle, ISP)。

简介

设计原则在实际代码编写中非常重要,我们的设计要遵从一些原则,使代码的可重用性,可扩展性,可维护性等等。


(1)单一责任原则( Single Responsibility Principle, SRP)。

就-一个类而言,应该仅有一一个引起它变化的原因。即,当需要修改某个类的时候原因有且只有一个,让一个类只做一种类型责任。

好比我们提供一个服务,订单服务,只负责操作订单相关的操作,用户服务只提供用户相关的操作。


(2)开放-封闭原则(Open & Close Principle, OCP)。

软件实体(类、模块、函数等)应该是可以扩展的,即开放的;但是不可修改的,即封闭的。


(3)里氏替换原则(Liskov Substitution Principle,LSP)。

子类型必须能够替换掉他们的基类型。即,在任何父类可以出现的地方,都可以用子类的实例来赋值给父类型的引用。当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有是一一个(is-a) 关系。


(4)依赖倒置原则(Dependence Inversion Principle,DIP)。

抽象不应该依赖于细节,细节应该依赖于抽象。即,高层模块不应该依赖于低层模块,二者都应该依赖于抽象。


(5)接口分离原则( Interface Segregation Principle, ISP)。

不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。即:依赖于抽象,不要依赖于具体,同时在抽象级别不应该有对于细节的依赖。这样做的好处就在于可以最大限度地应对可能的变化。


相关文章
|
23天前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
15 3
|
1月前
|
Java 关系型数据库
JAVA面向对象设计原则
JAVA面向对象设计原则
12 1
|
1月前
|
Java
java面向对象高级分层实例_实体类
java面向对象高级分层实例_实体类
10 1
|
3天前
|
安全 Java
Java基础&面向对象&继承&抽象类
Java基础&面向对象&继承&抽象类
|
3天前
|
Java
【Java基础】详解面向对象特性(诸如继承、重载、重写等等)
【Java基础】详解面向对象特性(诸如继承、重载、重写等等)
8 0
|
9天前
|
安全 Java 机器人
《Java 简易速速上手小册》第2章:面向对象的 Java(2024 最新版)
《Java 简易速速上手小册》第2章:面向对象的 Java(2024 最新版)
19 0
|
12天前
|
存储 Java
Java基础教程(7)-Java中的面向对象和类
【4月更文挑战第7天】Java是面向对象编程(OOP)语言,强调将事务抽象成对象。面向对象与面向过程的区别在于,前者通过对象间的交互解决问题,后者按步骤顺序执行。类是对象的模板,对象是类的实例。创建类使用`class`关键字,对象通过`new`运算符动态分配内存。方法包括构造函数和一般方法,构造函数用于对象初始化,一般方法处理逻辑。方法可以有0个或多个参数,可变参数用`类型...`定义。`this`关键字用于访问当前对象的属性。
|
16天前
|
存储 Java 编译器
对象的交响曲:深入理解Java面向对象的绝妙之处
对象的交响曲:深入理解Java面向对象的绝妙之处
47 0
对象的交响曲:深入理解Java面向对象的绝妙之处
|
1月前
|
算法 IDE Java
【软件设计师备考 专题 】面向对象程序设计语言:C++、Java、Visual Basic和Visual C++
【软件设计师备考 专题 】面向对象程序设计语言:C++、Java、Visual Basic和Visual C++
41 0
|
1月前
|
Java
java面向对象高级分层实例_测试类(main方法所在的类)
java面向对象高级分层实例_测试类(main方法所在的类)
10 1