Go 语言实现 23 种设计模式适配器
生活随笔
收集整理的這篇文章主要介紹了
Go 语言实现 23 种设计模式适配器
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Go 語言實現(xiàn) 23 種設(shè)計模式適配器
將一個類型的接口轉(zhuǎn)換成客戶希望的另外一個接口,使原本由于接口不兼容而不能一起工作的類可以一起工作。
Example_one
package mainimport "fmt"// Adaptee 適配者 type MyLegacyPrinter struct{}func (l *MyLegacyPrinter) Print(s string) (newMsg string) {newMsg = fmt.Sprintf("Legacy Printer: %s\n", s)println(newMsg)return }// 目標抽象類 type LegacyPrinter interface {Print(s string) string }// 客戶要求接口 type ModernPrinter interface {PrintStored() string }// 適配器 type PrinterAdapter struct {OldPrinter LegacyPrinterMsg string }func (p *PrinterAdapter) PrintStored() (newMsg string) {if p.OldPrinter != nil {newMsg = fmt.Sprintf("Adapter: %s", p.Msg)newMsg = p.OldPrinter.Print(newMsg)} else {newMsg = p.Msg}return }func main() {// 舊的使用方式var old_adapter MyLegacyPrinterold_adapter.Print("Old ")// 適配器模式msg := "New"new_adapter := PrinterAdapter{OldPrinter: &MyLegacyPrinter{}, Msg: msg}returnMsg := new_adapter.PrintStored()fmt.Print(returnMsg) }總結(jié)
以上是生活随笔為你收集整理的Go 语言实现 23 种设计模式适配器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多级复杂对象数组 进行模糊查询 财
- 下一篇: 魔剑生死棋剧情介绍