更新时间:2022-03-31 09:56:36 来源:极悦 浏览816次
Java设计模式的六大原则的定义是什么呢?小编来告诉大家。
定义:班级变更的原因只有一个
优势 :
类复杂度降低
可读性改进
易于维护
修改类引起的风险降低
临界点 :
过多的除法会导致类的急剧增加,增加系统的复杂度
定义:对基类的所有引用必须透明地使用其子类的对象
优势 :
提高代码重用
提高代码可扩展性
提高项目的开放性
缺点:
记住是侵入式的,只要继承,就有父类的属性和方法
降低代码灵活性,子类比父类有更多的约束
增强耦合,父类的常量/变量/方法发生变化时,必须考虑对子类的修改
四定义:
子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
子类可以添加自己独特的方法。
当子类的方法重载父类的方法时,方法前置条件(即方法的参数)比父方法的入参要宽松。
当子类的方法实现父类的抽象方法时,该方法的后置条件(即方法的返回值)比父类更严格。
定义 :
高层模块不应该依赖低层模块,两者都依赖于它们的抽象(模块之间的依赖是通过抽象产生的,实现类不直接依赖)
抽象不应该依赖于细节(接口或抽象类不依赖于实现类)
细节可以依赖于抽象(实现类依赖于接口或抽象类)
处理 :
每个类都应该有一个接口或抽象类
变量的表面类型应该是接口或抽象类
任何类都不应该从具体类派生
尽量不要重复基类的实现方法
与里氏替换原理结合使用
定义:客户端不应该依赖不需要的接口,类之间的依赖应该基于最小的接口
四定义:
接口要尽量小,不要有臃肿的接口
接口应该是高度内聚的
只提供访问者需要的方法,每个接口中没有子类不能使用但必须实现的东西,可以拆分接口
接口设计限制:设计粒度越小,系统越灵活,结构越复杂,可维护性降低
处理 :
一个接口只服务一个子模块或业务逻辑
尽量压缩接口中的方法,保证有用,避免臃肿
尝试修改被污染的接口,如果修改风险高,使用适配器模式转换处理
了解有关业务逻辑的更多信息
定义:一个对象应该对其他对象有最少的了解(低耦合)
意义 :
方法尽量不引入类中不存在的对象
尽量不要暴露太多的公共方法和无定形的公共变量,尽量内向
如果一个方法在这个类中,它不会增加类之间的关系,对这个类没有负面影响,可以放在这个类中
概括 :
核心概念是类间解耦,低耦合。负面影响是有很多中转或跳转类,导致系统复杂度增加,也给维护带来困难。需要反复权衡,结构清晰,高内聚低耦合。
如果一个类需要跳转两次以上才能访问另一个类,就需要想办法重构。
定义:就是在一个新对象中使用一些已有的对象,使其成为新对象的一部分。新对象通过委托重用现有功能。
优势 :
使用对象的组合/聚合将有助于保持每个类的封装,并专注于单个任务。这样,类和集成层次结构将保持较小,并且不太可能成长为无法控制的庞然大物
缺点:
以这种方式重用构建的系统将有更多的对象需要管理;为了将多个不同的对象用作复合块,必须仔细定义接口
简而言之:尽量使用组合优先/聚合的方式,而不是使用继承
通过上述介绍相信大家对设计模式的六大原则的定义已经有所了解,大家如果想了解更多相关知识,可以关注一下极悦的Java极悦在线学习,里面的课程内容细致全面,由浅到深,适合没有基础的小白学习,希望对大家能够有所帮助哦。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习