装饰者模式主要是为一个对象增加新的行为,效果与子类扩展父类类似,但实现方式与继承不同,且更加灵活。
策略模式定义多种处理同一种场景的不同算法,这些算法可在不影响用户的情况下互相替换。
行为型模式用于简化类之间的交互。这里提供了三个例子:观察者(observer)、访问者(visitor)、模板(template)
开闭原则,就是对扩展开放,对修改关闭,是SOLID最重要的一条原则,大部分的设计模式都是为了实现开闭原则如何写出符合开闭原则的代码时刻具备扩展意识、抽象意识、封装意识开发设计的时候,需要提前设计,并预留扩展点,但是也不...
在不违反封装的情况下保存、获取对象的内部状态,然后在需要的时候可以恢复之前的状态。应用在存档、回退操作(ctrl + z、浏览器回退)
场景:当我们接收到一些数据需要对其进行处理时,由于它们来自于不同的渠道(如:腾讯,头条),不同渠道所需的处理方式不同,下面我们写一个简单Demo来实现该的场景。...
你有没有遇到过一个函数几百行长度,如果没有可以跳过本文章了,如果没有那么应该看看下面的内容。一个超长函数的复杂性不在于那些胶水代码,而是其中的逻辑分支,大量的逻辑分支导致你的代码难以理解。而重构的过程分为两步...
校验密码和校验账号的两个函数有重复的逻辑。也就是有重复的逻辑,但是也不是重复的代码
我们知道,常见的设计模式通常分为三大类:创建型模式、行为型模式、结构型模式。今天我们来聊聊创建型模式中的建造者模式,关于它的使用场景、优缺点、组成部分、实战实例讲解以及在JDK中的运用。...
它包含了一些命令对象和一系列处理对象。 每个处理对象决定它能处理哪些命令对象,它也知道如何将它不能处理的命令对象传递给该链中的下一个处理对象。...