![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
——设计模式——
设计模式八大原则和23种设计模式
_之桐_
一万年太久,只争朝夕,为博学而专精。
展开
-
【设计模式】迪米特法则和六种原则的总结
迪米特法则一个对象应该对其他对象保持最少的了解类与类关系越密切,耦合度越大迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的 public 方法,不对外泄露任何信息迪米特法则还有个更简单的定义∶ 只与直接的朋友通信直接的朋友∶每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,依赖,关联,组合,聚合等。其中,我们称出现成员变量,方法参数,方法原创 2021-12-28 13:27:05 · 268 阅读 · 1 评论 -
【设计模式】开闭原则
开闭原则开闭原则是编程中最基础、最重要的设计原则一个软件实体如类,模块和函数应该对扩展开放**(对提供方),对修改关闭(对使用方)**。用抽象构建框架,用实 现扩展细节。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。看如下的例子,如果要求再扩展一个功能,比如利用163发,那么需要在添加一个类,在sendEmail中添加一个方法,在同类print中继续添加代码。这就未必了对修改关闭的原则。改原创 2021-12-28 13:25:25 · 207 阅读 · 0 评论 -
【设计模式】里氏替换原则
里氏替换原则OO(Object Oriented,面向对象程式设计)中的继承性的思考和说明继承包含这样一层含义∶父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有 的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。继承在给程序设计带来便利的同时,也带来了弊端。比如使用继承会给程序带来 侵入性,程序的可移植性降低, 增加对象间的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类,并且父类修改后,所有涉及到子原创 2021-12-28 13:24:46 · 303 阅读 · 1 评论 -
【设计模式】依赖倒转原则
依赖倒转原则依赖倒转原则是指的特点有∶高层模块不应该依赖低层模块,二者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象依赖倒转(倒置)的 中心思想 是面向接口编程依赖倒转原则是基于这样的设计理念∶相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架 构比以细节为基础的架构要稳定的多。在 Java 中,抽象指的是接口或抽象类,细节就是具体的实现类使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完 成使用接口传递的方法体现依赖倒转原则原创 2021-12-28 13:24:00 · 167 阅读 · 1 评论 -
【设计模式】接口隔离原则
接口隔离原则原则概述:客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上如图中,【对象B】依赖【类D】,【对象C】依赖【类E】,但【类D】和【类E】都依赖于【接口A】。按照实现接口的规则,【类D】和【类E】都应该实现【接口A】中所有的方法。但,【类B】只需要实现接口中【function1】【function2】【function3】三个方法,【类E】则需要实现接口中的【function1】【function4】【function5】。显然两个类中都要实现不需要的方法。违背了【原创 2021-12-28 13:23:07 · 258 阅读 · 1 评论 -
【设计模式】单一职责原则
单一职责原则原则概述:一个类或者一个方法只负责一项职责或功能。如【类A】负责两个不同职责,即【职责1】和【职责2】。当【职责1】需求变更而改变【类A】时,可能引用【类A对象】的【职责2】时执行错误,所以需要将【类A】的职责分解为【类A1】,【类A2】 。当主体类A改为方法A时,也是一样的。public class SingleResponsibility { public static void main(String[] args) { GoToSchool goToSchoo原创 2021-12-28 13:20:43 · 297 阅读 · 1 评论