zoukankan      html  css  js  c++  java
  • Python设计模式----2.工厂模式

    工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题

    首先完全实现‘开-闭 原则’,实现了可扩展。其次更复杂的层次结构,可以应用于产品结果复杂的场合。

    工厂方法模式的对简单工厂模式进行了抽象。

    有一个抽象的Factory类(可以是抽象类和接口),这个类将不在负责具体的产品生产,而是只制定一些规范,具体的生产工作由其子类去完成。

    在这个模式中,工厂类和产品类往往可以依次对应。即一个抽象工厂对应一个抽象产品,一个具体工厂对应一个具体产品,这个具体的工厂就负责生产对应的产品。   

    代码:

    """设计模式--工厂模式"""
    class A():
        '''工厂类'''
        def __init__(self):
            self.classname = '工厂类'
     
    class A1(A):
        def run(self):
            print(self.classname + '-- this is A1')
     
    class A2(A):
        def run(self):
            print(self.classname + '-- this is A2')
     
     
    class B():
        '''接口基类'''
        def create(self):
            '''把要创建的工厂对象装配进来'''
            raise  NotImplementedError
     
    class B1(B):
        def create(self):
            return A1()
     
    class B2(B):
        def create(self):
            return A2()
     
     
    B1().create().run()
    B2().create().run()

    结果:

    工厂类-- this is A1
    工厂类-- this is A2
    

      

  • 相关阅读:
    Docker容器查看ip地址
    抽象工厂模式
    idea插件
    作业统计
    tarjan强连通图分量
    Android动画浅析
    位运算
    mongodb笔记
    依赖倒置原则
    单一职责原则
  • 原文地址:https://www.cnblogs.com/shiyixirui/p/12973796.html
Copyright © 2011-2022 走看看