--[[ 將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作。 ——Gang of Four 應用: 例如聯合國開會,每個國家的領導說著自己國家的語言,但接收著卻有不同國家的人,因此國家領導人需要翻譯,這個翻譯就是適配器。 例如我們玩游戲,特別玩以前不同平台的游戲,我們需要一個模擬器,這個模擬器就是適配器。 ]]-- --以下假設兩人開會,奧爸媽 習近萍
Target = {} function Target:new(o) o = o or {} setmetatable(o,self) self.__index = self return o; end function Target:Listen(content) print(content) end Adaptee = {} function Adaptee:new(o) o = o or {} setmetatable(o,self) self.__index = self return o; end function Adaptee:Translate(content) --在這裡做適配操作 return "Are you happy?" end Adapter = Target:new() function Adapter:new(o) o = o or {} setmetatable(o,self) self.__index = self o.adaptee = Adaptee:new() return o; end function Adapter:Listen(content) print(self.adaptee:Translate(content)) end
--習近萍說 c = "你幸福嗎?" aobama = Adapter:new() --奧爸媽實際聽到的是 aobama:Listen(c) 輸出結果: Are you happy? 交流群:315249378 如有不正確,歡迎交流討論!