@@ -709,7 +709,7 @@ Sale()构造函数现在有了一个作为自己属性的装饰器列表:
709709
710710我们的应用允许一次展开好几个(或全部)视频,所以这是一个合并网络请求的绝好机会。
711711
712- ![ 图7-3 真实的视频列表] ( ./figure /chapter7/7-3.jpg )
712+ ![ 图7-3 真实的视频列表] ( ./Figure /chapter7/7-3.jpg )
713713
714714图7-3 真实的视频列表
715715
@@ -916,11 +916,11 @@ proxy对象创建了一个队列来收集50ms之内接受到的视频ID,然后
916916
917917图7-4和7-5展示了使用代理模式将与服务器三次数据交互(不用代理模式时)变为一次交互的过程。
918918
919- ![ 图7-4 与服务器三次数据交互] ( ./figure /chapter7/7-4.jpg )
919+ ![ 图7-4 与服务器三次数据交互] ( ./Figure /chapter7/7-4.jpg )
920920
921921图7-4 与服务器三次数据交互
922922
923- ![ 图7-5 通过一个代理对象合并请求,减少与服务器数据交互] ( ./figure /chapter7/7-5.jpg )
923+ ![ 图7-5 通过一个代理对象合并请求,减少与服务器数据交互] ( ./Figure /chapter7/7-5.jpg )
924924
925925图7-5 通过一个代理对象合并请求,减少与服务器数据交互
926926
@@ -929,7 +929,7 @@ proxy对象创建了一个队列来收集50ms之内接受到的视频ID,然后
929929
930930在这个例子中,客户对象(videos)已经可以做到不对同一个对象重复发出请求。但现实情况中并不总是这样。这个代理对象还可以通过缓存之前的请求结果到cache属性中来进一步保护真正的主体http对象(图7-6)。然后当videos对象需要对同一个ID的视频请求第二次时,proxy对象可以直接从缓存中取出,从而避免一次网络交互。
931931
932- ![ 图7-6 代理缓存] ( ./figure /chapter7/7-6.jpg )
932+ ![ 图7-6 代理缓存] ( ./Figure /chapter7/7-6.jpg )
933933
934934图7-6 代理缓存
935935
@@ -940,7 +940,7 @@ proxy对象创建了一个队列来收集50ms之内接受到的视频ID,然后
940940
941941中介者模式就是一个缓解此问题的办法,它通过解耦来提升代码的可维护性(见图7-7)。在这个模式中,各个彼此合作的对象并不直接通讯,而是通过一个mediator(中介者)对象通讯。当一个对象改变了状态后,它就通知中介者,然后中介者再将这个改变告知给其它应该知道这个变化的对象。
942942
943- ![ 图7-7 中介者模式中的对象关系] ( ./figure /chapter7/7-7.jpg )
943+ ![ 图7-7 中介者模式中的对象关系] ( ./Figure /chapter7/7-7.jpg )
944944
945945图7-7 中介者模式中的对象关系
946946
@@ -962,7 +962,7 @@ proxy对象创建了一个队列来收集50ms之内接受到的视频ID,然后
962962
963963你可以在这里看到这个游戏的在线演示< http://jspatterns.com/book/7/mediator.html > 。
964964
965- ![ 图7-8 游戏涉及的对象] ( ./figure /chapter7/7-8.jpg )
965+ ![ 图7-8 游戏涉及的对象] ( ./Figure /chapter7/7-8.jpg )
966966
967967图7-8 游戏涉及的对象
968968
0 commit comments