アダプタモード:
オブジェクトまたはインタフェース、または他の人が私たちの繰り返しの他にどのような属性を提供し、または薄い見えるアダプタモードのための方法。名前は覚え長すぎる、そしてオブジェクトにそれをパッケージ化、その後は快適にまたは間接的にそれを呼び出すメソッド名を感じます。簡単な例では、私は、アダプタの聖歌で、三角形の口を持っていない、三角形のソケットです。
オブジェクトアダプタ:
あなたが見るの引用は、オブジェクトがあなたのラッパークラスのオブジェクトに存在し、目に楽しいではありません
パッケージメイン
インポート"FMT"
タイプのターゲット・インターフェース{
リクエスト()
}
型Adaptee構造体{
}
FUNC(それ* Adaptee)specificrequeset(){
fmt.Println( "ASDF")
}
アダプタ構造体{入力
adaptee * Adaptee
}
FUNC(それ*をアダプタ)setAdaptee(adaptee * adaptee){
it.adaptee = adaptee
}
FUNC(それ*アダプタ)要求(){
it.adaptee.specificrequeset()
}
メインFUNC(){
ターゲット:=新しい(アダプタ)
adaptee:=新しいです( adaptee)
target.setAdaptee(adaptee)
target.request()
}
クラスアダプタ:
継承2クラスによって、自分自身の方法や代替方法を残して、
その代わりに元のメソッドを呼び出します
パッケージ主
型ターゲット・インターフェース{
リクエスト()
}
Adaptee構造体を入力し、{
}
FUNC(それは* Adaptee)specificRequestは、(){
}
アダプタのstruct {入力
Adaptee
}
FUNC(それ*アダプタ)要求(){
it.specificRequestを()
}