上面是MyBatis中的一个适配器设计模式的类图。好多东西总是忘记,所以专门记录一下。
依赖关系:依赖(dependency),在代码中,某个类的方法通过局部变量,方法参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些任务.
比如:我们的PlainMethodInvoker类中的invoke方法
@Override
public Object invoke(Object proxy, Method method, Object[] args, SqlSession sqlSession) throws Throwable {
return mapperMethod.execute(sqlSession, args);
}
关联关系:关联(association)关系,用于表示一类对象与另一类对象之间的联系,使一个类知道另一个类的属性和行为.关联关系有单向关联,双向关联,自关联。
代码:通常是将一个类的对象作为另一个类的成员变量来实现.
比如:
private static class PlainMethodInvoker implements MapperMethodInvoker {
//关联关系,PlainMethodInvoker 持有MapperMeth