定义
什么是Layer Supertype模式
如果一层中的组件具有相同的一组行为,就可以将这些行为提取到一个公共类或组件中,并使层中的所有组件都继承该公共类或组件。这不仅简化了维护并提高了可重用性,还允许通过对超类型(而不是特定组件)的运行时引用来调用公共行为,从而减少了层之间的依赖性。
类型
行为类模式
类图
特点
- 减少冗余代码
- 当层超类型过多时可能导致代码层次过多降低阅读质量
适用场景
当某一层中所有对象都有公用特性时都可以适用。
Mybatis中应用,BaseExecutor实现了Executor接口中的所有函数,并抽象出核心的3个函数doUpdate,doFlushStatements,doQuery。子类中只需实现这3个函数即可。