[python-flask笔记2]工厂模式加载配置

目录

  • 工厂模式介绍
  • 在flask项目中,配置信息的使用方式demo

工厂模式介绍

简单理解:工厂模式依然是一种创建型设计模式,作为工厂,它所关心的是产品的产生,也就是对象的创建,我们利用工厂来创建对象,而不必我们亲自创建对象,我们无需去理解如何创建对象,只需要向工厂提出要求,让工厂去根据你的要求,给你生产你要的产品,给你相应的对象,这种模式便叫做工厂模式。

  • 工厂模式优点:

松耦合,对象的创建独立于类的实现

客户端无需了解创建对象的类,只需知道需要传递的接口,方法和参数就能够创建所需要的对象

很容易扩展工厂添加其他类型对象的创建,而使用者只需要改变参数就可以了

  • 工厂模式缺点:

增删对象的时候。需要手动去修改

  • 工厂方法的使用场景:

当系统中拥有的子类很多,并且以后可能还需要不断拓展增加不同的子类时。 当设计系统时,还不能明确具体有哪些类时。

在工厂方法中,使用者不需要知道具体的产品类名,只需要知道其对应的工厂即可。

在flask项目中,配置信息的使用方式demo

工厂模式:
1.定义工厂函数,封装创建程序实例的代码
2.定义函数的参数,可以根据参数的不同创建不同的app
demo_run.py

from flask import  Flask

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config_name)
    return app

from set import DefaultConfig,ProductionConfig
app = create_app(DefaultConfig)
#app = create_app(ProductionConfig)

@app.route('/')
def index():
    print(app.config.get('MYSQL_URL'))
    return "hello 嘴里动的是ju"

if __name__ == '__main__':
    app.run()

set.py

# 封装型好,可用性强
# 不安全
# 测试模式
class DefaultConfig(object):
   MYSQL_URL = 'mysql address'

# 生产模式
class ProductionConfig(DefaultConfig):
    MYSQL_URL = 'production mysql address'

你可能感兴趣的:(#,Python,python,flask,后端)