@startuml

interface Executor{
提供两种功能：
1、基本的数据库操作，
   包含增删改查和事务的提交和回滚
2、提供了关于缓存的操作接口
}

abstract class BaseExecutor{
Executor接口的基本实现
}

class SimpleExecutor{
简单执行器
}

class ReuseExecutor{
可复用的执行器
}

class BatchExecutor{
批次执行器
}

class CachingExecutor{
带有缓存应该是
跨Session的缓存执行器
}

Executor <|-- BaseExecutor
Executor <|-- CachingExecutor
BaseExecutor <|-- SimpleExecutor
BaseExecutor <|-- ReuseExecutor
BaseExecutor <|-- BatchExecutor
@enduml