标签:个人 class click singleton java dex gets 分离 初始化
用于创建唯一的一个对象。
核心在于一个判断
1 var getSingle = function (fn) { 2 var result; 3 return function () { 4 return result || (result = fn.apply(this, arguments)); 5 }; 6 }; 7 //创建登陆div 8 var createSingletonLoginLayer = getSingle(function () { 9 var div = document.createElement(‘div‘); 10 div.innerHTML = ‘我是悬浮窗‘; 11 div.style.display = ‘none‘; 12 document.body.appendChild(div); 13 return div; 14 }); 15 16 document.getElementById(‘loginBtn‘).onclick = function () { 17 var loginLayer = createSingletonLoginLayer(); 18 loginLayer.style.display = ‘block‘; 19 }; 20 //创建iframe 21 var createSingleIframe = getSingle(function () { 22 var iframe = document.createElement(‘iframe‘); 23 document.body.appendChild(iframe); 24 return iframe; 25 }); 26 27 document.getElementById(‘loginBtn2‘).onclick = function () { 28 var loginLayer = createSingleIframe(); 29 loginLayer.src = ‘http://baidu.com‘; 30 };
个人感觉这个模式挺啰嗦的,挺短的几行代码用完这个模式就变得貌似又臭又长,所以可用在验证、以及可以复用的组件等地方。 不能复用真的感觉写这么长一串不值。
个人感觉这个模式核心在于把条件放在对象中代替用if来代替
策略模式的目的是将算法的使用与算法的实现分离开来。
标签:个人 class click singleton java dex gets 分离 初始化
原文地址:http://www.cnblogs.com/rain318/p/6659241.html