栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[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'
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018520.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号