问题:在页面上,用户会有很多操作,我们需要显示每个操作的结果。这里我们有一个问题,我们应该如何展示不同的结果?在呈现的过程中,我们也要考虑到当页面功能不断增加和修改时,结果的呈现也在不断增加,我们要用最好的方法来解决问题,以应对这些变化。解决方案:在网盘的开发中,我们遇到了这样一个问题。几经思考,我们决定用以下方法解决这个问题。先看图:。
从图中我们可以知道,会用一个中介来接收用户的信息,然后发送到对应的展示主题,这样就可以解决展示方式不会改变的问题,如何展示就是展示主题代码的问题。这种方法就是我们通常所说的中介模式。如果想了解更多,可以去谷歌或者百度讨论中介模式。代码:好的,现在我来签一些代码,如果你有更好的解决方案,也可以给我一个评论。复制的代码如下:/* * intermediate * */varMediator=function(){ varself=this;var _ messageObj={ };这个。register=function (key,obj){//register media _ messageObj[key]=obj;},这个。send=function (Key,message){//向客户发送信息if(_ message obj[Key]){ _ message obj[Key]。根据客户密钥接收(消息);}}}/* *客户父类* */var messagebase=function (key,mediator) {mediator。注册(键,这个);//注册中介}/* *免费主题1 * */var message obj 1=function(key,mediator) {messagebase。呼叫(此、键、中介);//继承父类this。receive=function(message){//接收中间消息alert('Object1 '消息);}}/* *免费主题2 * */var message obj 2=function(key,mediator) {message base。呼叫(此、键、中介);//继承父类this。receive=function(message){//接收中间消息alert('Object2 '消息);} } var med//Mediator var init=function(){//客户代码med=new Mediator();new MessageObj1('m1 ',med);新消息对象j2('m2 ',med);};window . onload=function(){ init();}用法:复制代码如下: a href=' JavaScript 3360//' onclick=' med . send '(' m1 ',' good ');'test1/a a href=' JavaScript ://' onclick=' med。发送(' m2 ',' GoodBoy ');'测试2/a下载:http://xiazai.jb51.net/200912/yuanma/js_zhongjie.rar.