hibernate 使用的设计模式(一) 观察者
?
?? 如代码所示:当执行get()方法时,首先创建一个loadEvent,然后触发加载操作,获取对应listeners做出对应的响应;
?? SessionImpl为被观察者, listers为观察者, event为事件, event中包含了事件相关的属性。
ps:图1中为SessionImpl中的代码(SessionImpl为session的实现类), 图2为DefaultLoadEventListener的代码(DefaultLoadEventListener为LoadEventListener的实现类)