国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

12-抽象工廠方法模式(Easy搞定Golang設(shè)計模式)

2023-08-12 16:45 作者:senglin00001  | 我要投稿
package main

import "fmt"

type Computer struct {
   AbstractCpu
   AbstractMem
   AbstractDis
}

type AbstractCpu interface {
   computer()
}

type InterCpu struct {
}

func (c *InterCpu) computer() {
   fmt.Println(" inter cpu 計算功能")
}

type AbstractMem interface {
   storage()
}

type InterMem struct {
}

func (i *InterMem) storage() {
   fmt.Println("inter mem 存儲功能")
}

type AbstractDis interface {
   display()
}

type InterDis struct {
}

func (m *InterDis) display() {
   fmt.Println("顯卡具有顯示功能")
}

type ComputerFactory interface {
   CreateCpu() AbstractCpu
   CreateMem() AbstractMem
   CreateDis() AbstractDis
}

type InterComputerFactory struct{}

func (inter *InterComputerFactory) CreateCpu() AbstractCpu {
   fmt.Println("生成inter cpu")
   var cpu AbstractCpu
   cpu = new(InterCpu)
   return cpu
}

func (inter *InterComputerFactory) CreateMem() AbstractMem {
   fmt.Println("生成inter 內(nèi)存")
   var mem AbstractMem
   mem = new(InterMem)
   return mem
}
func (inter *InterComputerFactory) CreateDis() AbstractDis {
   fmt.Println("生成inter 顯示器")
   var dis AbstractDis
   dis = new(InterDis)
   return dis
}

func main() {
   var fac ComputerFactory
   fac = new(InterComputerFactory)
   interCpu := fac.CreateCpu()
   interMem := fac.CreateMem()
   interDis := fac.CreateDis()
   //組裝電腦
   com := Computer{interCpu, interMem, interDis}
   com.AbstractCpu.computer()
   com.AbstractMem.storage()
   com.AbstractDis.display()
}


12-抽象工廠方法模式(Easy搞定Golang設(shè)計模式)的評論 (共 條)

分享到微博請遵守國家法律
鄱阳县| 顺义区| 灵璧县| 轮台县| 确山县| 巩义市| 泸溪县| 德昌县| 道孚县| 怀远县| 米脂县| 牟定县| 关岭| 防城港市| 山西省| 利辛县| 格尔木市| 河北省| 石棉县| 神木县| 大安市| 武山县| 肥西县| 江西省| 临猗县| 鲜城| 铜山县| 绥中县| 盘山县| 曲靖市| 肥城市| 桑植县| 吉水县| 高邑县| 桃源县| 诸城市| 德格县| 定远县| 新竹县| 鸡西市| 洪湖市|