生成器模式(builder)

还是那个说法,我要吃东西就去相应的食堂窗口,但我不能吃食堂窗口,窗口里的东西也许不少,我要跟师傅说,要这个,这个,还有这个。

举例:我已经建立了 xml解析器的工厂,现在要返回解析器本身,就让工厂创建,返回给我。

// XMLParserGetFactory.as
// 生成解析读入的xml的对象的工厂
class  XMLParserGetFactory  implements  AbstractFactory{
    var xmlParser;
    function XMLParserGetFactory(str:String){
        
// 如果要求留言板列表解析器,就生成一个
         if (str == ” xmlParseGuestbookList”){
            xmlParser
= new  xmlParserGuestbookList();
        }
    }
    function createXmlParser(){
        
// 返回所要求的解析器
         return  xmlParser;
    }
}
 
// AbstractXmlParser.as
// 抽象xml解析器
Interface AbstractXmlParser{
function ParseXml();
}
// xmlParserGuestBookList.as
// 留言板列表解析器
Class xmlParserGuestBookList  implements  AbstractXmlParser{
    
// 把xml字符串里的内容解析到一堆数组里
    function ParseXml(xml:XML,arrayID:Array,arrayTitle:Array){
    
// 具体循环操作
    }
}

使用的时候:

var xmlParser = new XMLParserGetFactory ( xmlParseGuestbookList )
xmlParser = XMLParserGetFactory . createXmlParser ( xml , arrayID , arrayTitle ) ;

你可能感兴趣的:(builder)