设计模式之抽象工厂模式

# 抽象工厂模式

class AbstractFactory(object):

computer_name =''

    def createCpu(self):

pass

    def createMainboard(self):

pass

class IntelFactory(AbstractFactory):

computer_name ='Intel I7-series computer '

    def createCpu(self):

return IntelCpu('I7-6500')

def createMainboard(self):

return IntelMainBoard('Intel-6000')

class AmdFactory(AbstractFactory):

computer_name ='Amd 4 computer '

    def createCpu(self):

return AmdCpu('amd444')

def createMainboard(self):

return AmdMainBoard('AMD-4000')

class AbstractCpu(object):

series_name =''

    instructions =''

    arch=''

class IntelCpu(AbstractCpu):

def __init__(self,series):

self.series_name = series

class AmdCpu(AbstractCpu):

def __init__(self,series):

self.series_name = series

class AbstractMainboard(object):

series_name =''

class IntelMainBoard(AbstractMainboard):

def __init__(self,series):

self.series_name = series

class AmdMainBoard(AbstractMainboard):

def __init__(self,series):

self.series_name = series

class ComputerEngineer(object):

def makeComputer(self,factory_obj):

self.prepareHardwares(factory_obj)

def prepareHardwares(self,factory_obj):

self.cpu = factory_obj.createCpu()

self.mainboard = factory_obj.createMainboard()

info ='''------- computer [%s] info:

cpu: %s

mainboard: %s

-------- End --------

        '''% (factory_obj.computer_name,self.cpu.series_name,self.mainboard.series_name)

print(info)

if __name__ =="__main__":

engineer = ComputerEngineer()

intel_factory = IntelFactory()

engineer.makeComputer(intel_factory)

amd_factory = AmdFactory()

engineer.makeComputer(amd_factory)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • """ 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 优点:易于交换“产品系...
    jumo阅读 177评论 0 0
  • 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其...
    Prisoner_King阅读 301评论 0 0
  • 简介 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又...
    盗梦者_56f2阅读 151评论 0 1
  • 抽象工厂模式定义: 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂...
    Scorw阅读 148评论 0 1
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,135评论 0 4