Java设计模式原则

Java设计模式简介、设计模式原则及分类 Java设计模式简介、设计模式原则及设计模式分类 阅读详情

Java设计模式原则

学了一些设计模式,看完了一把构建用的模式,自己也用了一点儿,感觉到了很多好处。但这些模式都遵循一些模式,自己代码再进行修改明显更简单,扩展也更棒。老师上课也提及了一个里氏替换原则,自己查了一下还有几个设计原则。
这些设计原则只有用到了才能感到他们的意义,代码不可能是一成不变的,也不可能是不修改的。这些原则都是前代软件工程师发现的有意义的东西,我们按照这些原则写的代码能达到很好的复用性和可扩展性,可读性也会加强。

一.单一职责原则

一个类只要负责一个职责,不要在设计中使用一个带有很多功能的类。当一个类能做到很多事情,我们应该把他拆开。
很多人为了高聚合把很多无关的事情交给一个类做,这让以后程序的功能很难修改与扩展。
这个很容易理解,提高类的可读性,并且降低类的复杂度,降低变更的风险。

二.接口隔离原则

客户端不应该依赖不需要的接口,如果一个实现类只需要接口的部分功能请把接口分开。
这也是不给客户端提供不需要的方法,不增加冗余代码。

三.依赖倒置原则

高层不应该依赖底层的细节,而应该依赖接口或者其抽象。
抽象永远要比细节稳定得多,一个程序的抽象功能一般不会大改,而细节总是在优化的。
如果依赖的是抽象,我们可以很简单的按照我们自己的想法修改实现细节。
接口与抽象类负责制定ADT的规范的。
依赖倒置的核心就是面向接口编程,面向抽象编程

四.开闭原则

软件应对扩展开放,对修改关闭。
与上面联系程序用抽象构建,实现扩展细节。
我认为开闭必须建立在依赖倒置上,对抽象的功能可以进行扩展,而不允许修改,抽象应该是程序得骨架。

五迪米特原则

对象应该对其他对象保持最少的了解,对象不应该依赖其他对象实现细节。
也有的人认为一个优秀的类设计,不允许一个对象成为另一个对象方法中的局部变量。
这样子不对外泄露信息。

六里氏替换原则

对继承自同一个类的对象,最好有相同的行为,就是尽可能少的重写已有方法。
重写已有方法本身是对父类的破坏,越多重写的方法,代表子类与父类的关系越远离。如果我们本身只想调用子类的重写方法,我们为什么要把他继承一个父类而不是让他们平级呢?
继承现在在被大规模的滥用,继承应该是严格的is-a关系。现在很多应该用代理,用聚合都在继承。继承不应该是一种随便拿来的增加复用性的工具,希望慎用继承,多用聚合组合。

【Java设计模式】Java设计模式之设计模式的原则 设计模式原则,其实就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础(即:设计模式为什么是这样设计的依据)。 简单概括:单接依里开迪合。 单:单一职责原则 接:接口隔离原则 依:依赖倒置原则 里:里氏替换原则 开:开闭原则 迪:迪米特法则 合:合成复用原则 下面分别讲解每个原则。 一、单一职责原则 基本介绍 对类来说的,即一个类应该只负责一项职责。如果类A负责两个不同的职责:职责1,职责2。当职责1需求变更而改变类A时,可能造成职责2执行错误,所以需要将类A的粒度分解. 阅读详情

相关推荐

UE4免费资产库新玩法:Quixel Bridge插件安装与Megascans资源导入全攻略

本文详细介绍了如何在UE4中安装Quixel Bridge插件并导入Megascans资源,帮助开发者快速获取高质量3D资产。通过分步教程和实用技巧,提升游戏或影视场景的制作效率,特别适合需要真实感环境的项目。

weixin_27729671的博客 369

Java设计模式之七大设计原则

Java设计模式之七大设计原则 本文对Java设计模式中的七大设计原则进行汇总介绍,提炼最核心的概念。 设计模式总结笔记 一、设计模式七大原则 设计模式的目的: 代码可重用性:相同功能的代码,不用多次编写。 可读性:编程规范性,便于其他程序员的阅读和理解。 可扩展性:当需要增加新的功能的时候,非常方便,称为可扩展性。 可靠性:当我们新增功能后,对原来的功能没有影响。 使程序呈现高内聚、低耦合特性。 1.1、单一职责原则 不遵守单一职责原则: 对类来说的,就是一个类应该只负责一项职责。 比如:Us

qq_49529322的博客 1万+

SoapUI 5.0 模拟WebService接口实战:从WSDL文件到Mock服务端完整流程

本文详细介绍了如何使用SoapUI 5.0模拟WebService接口,从解析WSDL文件到搭建完整的Mock服务端流程。通过实战案例和效率技巧,帮助开发者快速掌握接口模拟技术,提升开发与测试效率。

weixin_26833139的博客 408

Java设计模式之六大设计原则

设计模式之六大设计原则 软件设计模式,简称设计模式,它是一种反反复复被使用,多数人经过分类编目的,代码设计经验的总结。使用设计模式可以为了减少重复的代码,让代码变得更加简洁,让人更加容易理解,保证代码的可靠性,程序可重复性。 单一原则(Single Responsibility Principle) 里氏替换原则(LSP liskov substitution principle) 依赖倒置...

Apollo 733

手把手教你用LangChain4j打造一个“会追问”的AI客服:以航空货运下单为例

本文详细介绍了如何使用LangChain4j构建一个能够主动追问的航空货运AI客服系统。通过对话状态管理、信息缺口识别和渐进式引导等核心技术,实现高效的多轮对话交互。文章包含从交互设计到代码实现的完整指南,特别强调了提示词(Prompt)在优化AI行为中的关键作用,帮助开发者打造更智能的客服解决方案。

weixin_28731223的博客 154

ROS 2在自动驾驶中的应用:感知节点开发

ROS 2在自动驾驶中的应用:感知节点开发 ,人工智能,计算机视觉,大模型,AI,本文围绕ROS 2在自动驾驶感知节点开发展开,介绍了ROS 2基础、感知节点开发流程,包括环境搭建、代码编写等,还阐述了常用传感器感知节点开发、多传感器融合,以及测试调试、性能优化、部署集成等内容,分析了开发面临的挑战与未来趋势,为相关开发提供了全面指导,涉及简单代码示例和概念解释。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 14万+

Java设计模式(二)----设计原则

单一职责原则 Single Responsibility Principle,简称SRP 定义 一个类,应当只有一个引起它变化的原因;即一个类应该只有一个职责。 单一职责原则的优点有以下几个方面: 1、降低类的复杂性; 2、提高类的可读性; 3、提高代码的可维护性和复用性; 4、降低因变更引起的风险。 里氏替换原则 Liskov Substitution Principle,简称LSP 定义 所有引用基类的地方必须能透明地使用其子类对象。清晰明确地说明只要父类能出现的地方子类就..

a14654的博客 413

ComfyUI整合包、秋叶ComfyUI、Florence节点报错下载并加载Florence2模型No module named ‘timm.layers‘、ComfyUI报错解决

步骤操作1打开2地址栏输入cmd并回车3输入命令:4安装完成后重新打开 ComfyUI,执行工作流,即可解决报错。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1244

Java 6大设计原则28大设计模式

6大设计原则: 1. 单一职责原则 单一职责原则的英文名称是Single Responsibility Principle,简称是SRP(There should never be more than one reason for a class to change.) 见名知意,充斥着满满的争议,需求的更替,版本的迭代,场景的复杂,种种都能导致这个被破坏,但是把出发点是好的,单一意味着简单,简单意味着易懂,而后易维护、节省人力、成本、增加稳定性;但是场景复杂时就类就多了,em...;仁者见仁智者见

z3191595的博客 4974

本地部署DeepSeek并搭建量化交易系统:完整指南

本地部署DeepSeek并搭建量化交易系统指南 本文提供了一套完整的本地部署DeepSeek大语言模型并构建量化交易系统的技术方案。系统包含以下核心组件: 环境配置:详细说明Ubuntu系统、NVIDIA显卡驱动、CUDA和Python环境的安装要求,推荐使用conda管理依赖 DeepSeek部署: 通过HuggingFace下载7B或13B量化版本模型 使用4-bit量化技术降低显存需求 封装为FastAPI服务提供推理接口 量化系统架构: 模块化设计,各组件通过Redis解耦 包含数据获取、因子计算、

huanghm88的专栏 479

汽车UDS诊断详解及Vector相关工具链使用说明——总述

1.什么是诊断 车辆在运行过程中,不可避免地会发生一些故障,为了确保行车安全,我们要求车上的ECU能够实时监测部件的运行状态,一旦发现异常情况,能通过点亮报警灯等方式提示驾驶员。但是,点亮报警灯只能告诉驾驶员车辆发生了故障,最多只能定位到故障ECU,比如ABS报警灯亮说明ABS系统出现故障,但具体是什么部件发生故障并不能通过报警灯显示出来。这时就需要ECU在本地存储一个与故障相对应的故障代码,在进行维修的时候,可以通过车上的OBD接口连接诊断仪,把这个存储的故障代码读取出来,从而进一步定位到更加具体的故障部

weixin_42967006的博客 2万+

Java程序设计六大原则&设计模式

一个接口或者类只有一个原因引起变化,即一个接口或者类只有一个职责,负责一件事情。(此原则同样适用于方法)好处:1、复杂性降低;2、可读性提高;3、可维护性提高;4、变更风险降低。

sziitjin的博客 1743

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

DesignPattern_Java:设计模式分类和设计原则

设计模式分类: 创建型: 单例模式(Singleton Pattern) 工厂方法模式(Factory Pattern) 抽象工厂模式(Abstract Factory) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 结构型: 代理模式(Proxy) 装饰模式(Decorator) 适配器模式(Adapter) 组合模式(Com

Anonymous 1812

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java设计模式--原则

本文介绍Java设计模式的原则,包括:单一职责原则,开闭原则,里氏代换原则,依赖倒转原则,接口隔离原则,合成复用原则。

IT利刃出鞘的博客 2459

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java设计模式的七大原则

因为继承会将基类的实现细节暴露给子类,由于基类的内部细节通常对子类来说是可见的,所以这种复用又称“白箱”复用,如果基类发生改变,那么子类的实现也不得不发生改变;在实现依赖倒转原则时,我们需要针对抽象层编程,而将具体类的对象通过依赖注入的方式注入到其他对象中,这些方法在定义时使用的是抽象类型,在运行时再传入具体类型的对象,由子类对象来覆盖父类对象。常用的注入方式有三种,分别是:构造注入,设值注入(Setter注入)和接口注入。(1)子类的所有方法必须在父类中声明,或子类必须实现父类中声明的所有方法。

caihuayuan5的博客 1008

JAVA设计模式的七大原则总结

JAVA设计模式的七大原则总结 一、单一职责原则 基本介绍 对类来说,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2.当职责1需求需要变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2两个类。 应用实例 /** * @author Yu * 只有类中方法数量足够少,可以在方法级别保持单一职责原则,否则应该分割更小的粒度类来实现单一职责原则 */ public class SingleResponsility { public static void

大魚的个人博客,如有不足,欢迎指正。 891

Java设计模式六大原则

类,它负责用户的所有操作,包括用户信息的获取、更新和删除。即,一个类不应直接访问另一个类的内部成员,而应该通过其公开接口进行交互。即,一个类不应强迫实现不相关的接口,接口应该尽可能小且专注。:在某些情况下,过度使用迪米特法则可能导致不必要的复杂性,产生大量的中间方法和接口。:当子类替代父类时,系统的可扩展性增强,同时也确保了子类的行为不会引发新的错误。:一个类应该只有一个引起它变化的原因,换句话说,一个类只负责一个职责。:如果每个功能都分解到单独的类,可能会导致类数量增加,增加管理复杂度。

2301_79847249的博客 1516

Java设计模式的7个设计原则

Java设计模式的7个设计原则是面向对象设计领域中的重要指导方针,它们旨在提高软件系统的可维护性、可扩展性、可复用性和灵活性。

yuiezt的专栏 1378

java的设计模式的六大原则

java的23种设计模式 接口隔离原则(Interface Segregation Principle) 代码实现 package com.ls.segregation.improve; /** * Created by ls on 2020/3/23. * 改进 * 接口隔离原则(Interface Segregation Principle) */ public class Segr...

smileLs的博客 260

JAVA的设计模式原则

JAVA设计模式 设计模式的目的 代码的可读性 代码的可重用性 代码的可扩展性 代码的可靠性 使代码呈现高内聚,低耦合的特性 设计模式的七大原则 接口隔离原则 职责单一原则 里氏替换原则 迪米特法则 合成复用原则 依赖倒装原则 开闭原则 职责单一原则 基本介绍 对于类来说一个类应该只负责一项职责 注意事项和细节 降低类的复杂度,一个类只负责一项职责 提高了的可读性,可...

冰山丶 160

java设计模式——浅显易懂之七大原则

大家好,我是老王。一名正在学java设计模式的大三学生。准备连载java设计模式系列供自己以后复习和大家学习讨论。由于本人是初学者,站的角度更多是它是什么,我们要怎么做的角度进行思考,有出错的地方欢迎各位大牛指正,接下来直接进入正题。 一、引言 为什么要认识七大原则? 我们准备学的23种设计模式就是要遵循7大原则,它对每种设计模式进行约束,增加其扩展性和可维护性。 本文章将从以下两个角度用‘庸俗’...

laowang__的博客 3138

Java设计模式 —— Java七大设计原则详解

编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的拓展性与维护性,由此才一步步发展出了设计模式,而设计模式又遵循着七大设计原则......

知唔猪的博客 2259

探索Java中的设计模式:原则与实例

大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天,我们将深入探讨Java中的设计模式,包括一些关键的设计原则和具体的实例。设计模式是软件工程中的重要组成部分,它们提供了一套经过验证的解决方案来应对常见的设计问题。在Java中,设计模式不仅可以提升代码的可读性和可维护性,还能够帮助开发者构建更加灵活和可扩展的系统。策略模式定义了一系列算法,并将每一个算法封装起来,让它们可以互相替换,策略模式使得算法可以独立于使用它的客户而变化。来创建具体的产品实例,而无需知道具体的实现类。

微赚开发者技术分享博客 1566
上一篇: Java语言快速上手之类与对象
下一篇: 软件构造第三章——ADT的设计综述
入过栈你
博客等级 码龄7年 2粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值