zoukankan      html  css  js  c++  java
  • 工厂模式和单例模式

    工厂模式:

    1. 解决对象创建的问题

    2. 解耦对象的创建和使用

    3. 包括工厂方法和抽象方法

    理解:创建产生类的工厂,根据不同的输入去产生不同的类,所以这里解耦了对象的创建和使用

    例如:

    class A:

        def __init__(self):

            print('a')

    class B:

        def __init__(self):

            print('b')

    def factory(type_class):

        if type_class =="A":

            return A()

        elif type_class=="B":

            return B()

    单例模式:

    1. 一个类创建出来的对象都是同一个

    2. 使用共享同一个实例的方式来创建单例模式

    例如

    class B:  # 多次实例化的对象均为同一个

        def __new__(cls, *args, **kwargs):

            if not hasattr(cls, '_instance'):

                _instance = super().__new__(cls)

                cls._instance = _instance

                return cls._instance

            return cls._instance

        def __init__(self):

            pass

  • 相关阅读:
    java生成验证码
    springmvc笔记(来自慕课网)
    angularJs编写多指令的情况
    四年前端开发的迷茫.
    angularJs的ui-router总结
    grunt构建前端自动化的开发环境
    socket传送文件
    socket--粘包
    socket--接受大数据
    动态导入模块
  • 原文地址:https://www.cnblogs.com/wenshu/p/12324189.html
Copyright © 2011-2022 走看看