五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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è)計模式)的評論 (共 條)

分享到微博請遵守國家法律
镇远县| 辽宁省| 黔西| 枣庄市| 朝阳县| 岱山县| 中山市| 汉阴县| 大宁县| 景宁| 新河县| 黄浦区| 内丘县| 株洲市| 洪洞县| 潮安县| 永昌县| 宜兴市| 秦安县| 金坛市| 泰和县| 赤壁市| 宁强县| 康乐县| 碌曲县| 天镇县| 长治县| 邳州市| 应城市| 蒙自县| 沂南县| 壤塘县| 莎车县| 保山市| 开鲁县| 渭南市| 河北省| 镶黄旗| 威海市| 潞西市| 陕西省|