摘要:

阅读全文
posted @ 2012-04-30 16:10 随机 阅读(67) 评论(2) 编辑
1.Command封装一个请求对象,Observer定义一种一对多的依赖关系;

 

2.Command通过对象解耦,Observer可以通过消息解耦;

 

3.Command可以有执行和撤消操作,所以从某种意义上来说,Command是有序的,Observer是无序的;

 

4.Command是在主类中通过接口调用各客户端子类的功能,Observer支持主类将更新通知给客户端,然后由客户端自行处理。

 

Command模式:

 

Observer模式:

 

posted @ 2012-03-21 00:06 随机 阅读(53) 评论(0) 编辑
        function getXMLDOM(xmlStr){
            var xmlDoc=null;
            
            if (window.ActiveXObject) {
                xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
                if(xmlDoc){
                    xmlDoc.async = false;
                    xmlDoc.loadXML(xmlStr);
                }

            }else if(document.implementation && document.implementation.createDocument && DOMParser){
                xmlDoc = document.implementation.createDocument('','',null);
                parser = new DOMParser();
                xmlDoc = parser.parseFromString(xmlStr,"text/xml");
            }
            
            return xmlDoc;
        }
    

 

        function xmlToJson(xml) {
            var obj = {};
        
            if (xml.nodeType == 1) {

                if (xml.attributes.length > 0) {
                obj["$attr"] = {};
                    for (var j = 0; j < xml.attributes.length; j++) {
                        var attribute = xml.attributes.item(j);
                        obj["$attr"][attribute.nodeName] = attribute.nodeValue;
                    }
                }
            } else if (xml.nodeType == 3 || xml.nodeType == 4) {
                obj = xml.nodeValue;
            }
        
            if (xml.hasChildNodes()) {
                for(var i = 0; i < xml.childNodes.length; i++) {
                    var item = xml.childNodes.item(i);
                    var nodeName = item.nodeName;
                    if (typeof obj[nodeName] == "undefined") {
                        
                        if(typeof item.nodeValue==="string"){
                            item.nodeType===4 && (nodeName="$cdata");
                            item.nodeValue.replace(/\s/g,"")!=="" && (obj[nodeName] = xmlToJson(item));
                        }else{
                            obj[nodeName] = xmlToJson(item);
                        }
                        
                    } else {
                        if (typeof obj[nodeName].length == "undefined") {
                            var old = obj[nodeName];
                            obj[nodeName] = [];
                            obj[nodeName].push(old);
                        }
                        obj[nodeName] instanceof Array && obj[nodeName].push(xmlToJson(item));
                    }
                }
            }
            return obj;
        }

 

        function xml2json(xml){
            return xmlToJson(getXMLDOM(xml));
        }

posted @ 2012-02-28 22:18 随机 阅读(65) 评论(1) 编辑

1.又一年过去了,感觉这一年收获不是很多;

2.买了相机研究了下摄影,然后拍的时间也不多;

3.拿了驾照,然后就没上过路了;

4.工作内容有一些小改变;

5.又经历了一次修炼;

posted @ 2012-01-30 19:30 随机 阅读(62) 评论(0) 编辑
摘要: 项目中要用PhoneGap开发,了解了下基本规则,记录一下,以备后查。(只针对Android平台)阅读全文
posted @ 2011-12-28 21:31 随机 阅读(841) 评论(0) 编辑
摘要: 最近学着写点PHP,写了个文件POST的类,可以很蛋疼地在服务器端POST文件到另一台服务器上阅读全文
posted @ 2011-11-30 21:07 随机 阅读(151) 评论(0) 编辑
摘要: 1.今年又遇到些事,很纠结,又修练了一次;2.又颓废了段时间,该收收心认真做点事情了;3.最近看书的时间少了,得好好静下心来多看点书;4.性格还是那么地急、快,对于做事有利也有弊,得学会自我好好调节;5.不知道激情这个东西能不能永远保留,希望它只会沉寂和起伏,不会消失;6.上火了,口腔溃疡、长痘痘、牙疼、淋巴疼,真悲催。。。。阅读全文
posted @ 2011-10-28 22:44 随机 阅读(59) 评论(0) 编辑
摘要: websocket这个坑爹的项目一直都在草案中,而且有时的更新变化还挺大的。目前最新的版本要先握手,信任后再发送相应数据,数据还掩码了。这次先实现了握手功能,其原理如下:阅读全文
posted @ 2011-09-28 21:32 随机 阅读(610) 评论(0) 编辑
摘要: 阅读全文
posted @ 2011-08-28 00:09 随机 阅读(190) 评论(0) 编辑
摘要: 2007.07.31 - 2011.07.31继续加油。阅读全文
posted @ 2011-07-31 00:02 随机 阅读(116) 评论(2) 编辑