More Related Content
Similar to 夜宴47期《一个艰难的决定》
Similar to 夜宴47期《一个艰难的决定》 (20)
More from Koubei Banquet (18)
夜宴47期《一个艰难的决定》
- 3. 9月27日
360推出个人隐私保护器,专门曝光“窥私”软件, 直指QQ。
9月28日
腾讯称360浏览器涉嫌借色情网站推广
10月14日
腾讯正式起诉360不正当竞争
10月28日
360弹窗指责马化腾享受经适房补贴
10月29日
360推扣扣保镖 称让QQ安全快速更好用
11月3日
腾讯决定在装有360软件的电脑上将不能使用QQ。对此360推出360 Web QQ
客户端,但旋即被腾讯以关闭Web QQ服务的方式回击。
11月4日
360要求腾讯向6亿QQ注册用户道歉
11月5日
金山、傲游、可牛、百度、搜狗五厂商今日在北京召开联合发布会,宣布将
不兼容360系列软件。
- 10. 单例是一个只能被实例化一次并且可以通过一
?
个众所周知的访问点访问的类。
public class Singleton {
private static Singleton uniqueInstance = null; //标识
private Singleton(){ } //构造函数
public static Singleton getInstance() {
if (uniqueInstance == null){
uniqueInstance = new Singleton ();
}
return uniqueInstance;
}
}
Singleton. getInstance(); //获取单例
- 12. 划分命名空间: ?
Ext = { }; //全局
//防止全局变量污染、使代码组织有序合理
Ext.util = { };
Ext.lib = { };
Ext.util.JSON = { };
Ext.util.Observable = { };
Ext.util.TaskRunner = { };
- 13. 网页专用代码的包装器
?
Namespace.pageName = {
// page contants.
CONSTANT_1: true,
CONSTANT_2: true,
// page methods.
method1: function(){ … },
method2: function(){ … },
// Initializtion method.
init: function(){ … }
}
addLoadEvent(Namespace.pageName.init);
- 14. 拥有私有成员的单例(下划线表示法)
?
GiantCorp.DataParser = {
// Private methods.
_stripWhitespace: function (str){
return str.replace(/s+/, ‘’);
},
_stringSplit: function (str, delimiter){
return str.split(delimiter);
}
// Public method.
stringToArray: function(str, delimiter, stripWS){
…
}
}
- 15. 拥有私有成员的单例(使用闭包)
?
MyNameSpace.Singleton = (function(){
// Private members.
var privateAttribute1 = false;
function privateMethod1(){
…
}
return {
// Public members.
publicAttribute1: 10,
publicMethod1: function(){
…
}
}
})();
- 16. 惰性实例化
MyNameSpace.Singleton = (function(){ return {
getInstance: function(){
var uniqueInstance; if(!uniqueInstance){
uniqueInstance = constructor();
function constructor(){ }
// Private members. return uniqueInstance;
var privateAttribute1 = false; }
function privateMethod1(){ }
…
} })();
return {
// Public members.
atttibute1: 10,
method1: function(){
…
}
}
} MyNameSpace.Singleton.getInstance().method1();