设计模式-行为型-空对象模式(Null Object)
参考文献
https://www.oodesign.com/null-object-pattern
https://java-design-patterns.com/patterns/null-object/
空对象模式
它用于处理对象引用为空时的情况.
该模式的目标是消除对空引用的显式检查,从而提高代码可读性和可维护性.
组件
AbstractClass: 定义具体实现必须定义的抽象基元操作.
RealClass: AbstractClass的实际实现,执行一些实际操作
NullClass: 不执行任何抽象类操作的实现,以便向客户端提供非空对象
Client: 客户端获取抽象类的实现并使用它.它并不真正关心实现是空对象还是真实对象,因为它们都以相同的方式使用
实现方式
定义一个共同的接口或抽象类,其中包含实际对象和空对象的共同方法.
创建一个实际对象类,实现共同接口,并提供具体的实现逻辑.
创建一个空对象类,也实现共同接口,但在方法中提供空实现.
在需要使用对象的地方,使用空对象作为默认值,而不是使用 null.
使用场景
避免在代码中频繁进行 null 引用的检查 ...
设计模式-行为型-访问者模式(Visitor)
参考文献
https://java-design-patterns.com/patterns/visitor/
https://www.oodesign.com/visitor-pattern
https://refactoringguru.cn/design-patterns/visitor
访问者模式
表示要对对象结构的元素执行的操作
Visitor允许您定义新操作,而无需更改其操作的元素的类
组件
Visitor: 这是一个接口或抽象类,用于声明所有类型的可访问类的访问操作.通常操作的名称是相同的,并且操作通过方法签名来区分:输入对象类型决定调用哪个方法.
ConcreteVisitor: 对于每种类型的访问者,必须实现在抽象访问者中声明的所有访问方法.每个访客将负责不同的操作.当定义一个新的访问者时,它必须被传递到对象结构.
Visitable : 是声明接受操作的抽象.这是访问者对象能够“访问”对象的入口点.集合中的每个对象都应该实现此抽象,以便能够被访问.
ConcreteVisitable: 这些类实现 Visitable 接口或类并定义接受操作.使用acce ...