WEB开发网
开发学院网页设计JavaScript javascript设计模式之单体模式 阅读

javascript设计模式之单体模式

 2010-01-08 00:00:00 来源:WEB开发网   
核心提示: 访问:对于私有成员,直接访问即可,javascript设计模式之单体模式(5),前面不用加任何修饰,对于公有的访问在单体作用域内前面要加上“this.”,至于利弊嘛要在实践中慢慢的体会了,由于本人也是初学,在单体作用域外前面要加上“circle.”

访问:

对于私有成员,直接访问即可,前面不用加任何修饰,

对于公有的访问在单体作用域内前面要加上“this.”,在单体作用域外前面要加上“circle.”(单体名字.)

呵呵,似乎有点味道了!

3.利用分支技术来来封装浏览器之间的差异

注意的地方:

a一定要用闭包,实现即时绑定

b每个分支之间用分号隔开

c最后返回的是分支的名字

d调用的时候用单体名+分支的方法名;

 1 // 利用单体的分支技术来定义XHR(XMLHttpRequest)对象,必须要用闭包才可以实现
 2 var XHR = (function(){
 3     //The three branches
 4     var standard = {
 5         cXHR:function(){
 6                 return new XMLHttpRequest();
 7             }    
 8     };
 9     var activeXNew = {
10         cXHR:function(){
11                 return new ActiveXObject('Msxml2.XMLHttp');
12             }    
13     };
14     var activeXOld = {
15         cXHR:function(){
16                 return new ActiveXObject('Microsoft.XMLHttp');
17             }    
18     };
19     //To assign(分配) the branch, try each method;return whatever doesn't fail
20     var testObject;
21     try{
22         testObject = standard.cXHR();
23         return standard;// return this branch if no error was thrown 
24     }catch(e){
25         try{
26             testObject = activeXNew.cXHR();
27             return activeXNew;
28         }catch(e){
29             try{
30                 testObject = activeXOld.cXHR();
31                 return activeXOld;
32             }catch(e){
33                 throw new Error('Create the XMLHttpRequestObject failed!');    
34             }
35         }
36     }
37 })();
38 window.onload = function(){
39     alert(XHR.cXHR());
40     }

最后再啰嗦几句:

对于单体据说是最常用的模式之一了,至于利弊嘛要在实践中慢慢的体会了,由于本人也是初学,所以没有太多的发言权,不足指出还忘高手指教

上一页  1 2 3 4 5 

Tags:javascript 设计模式 单体

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接