Architecture Decision Record

Active theme: Light

← 决策记录例子

Python Django 框架个架构决策记录

决策日期:2021-07-15

状态:已接受

背景

阿拉个组织打算开发一个管理客户数据个 Web 应用。阿拉已经选了 Python 作为编程语言,辣考虑用 Django 作为开发迭个应用个 Web 框架。

决策

阿拉决定用 Django Web 框架来开发迭个 Web 应用。Django 为快速、高效地构建 Web 应用,提供一套稳固个工具搭功能。

因素

影响阿拉决策个一眼因素包括:

  1. 对象关系映射(ORM):Django 有内置个 ORM,让阿拉勿用写 SQL 查询就可以搭数据库交互。迭让开发应用、长期维护应用更加容易。

  2. MVC 框架:Django 遵循模型—视图—控制器(MVC)架构,让应用个业务逻辑层搭展示层更加容易分开。

  3. 可扩展性:Django 以可扩展能力出名,所以是开发大规模应用个出色选择。

  4. 安全:Django 有内置个安全功能,比方防御跨站脚本(XSS)搭 SQL 注入迭类常见个 Web 攻击。

  5. 社区支持:Django 有庞大又活跃个社区,提供支持,并且为框架个开发做贡献。

考虑过个备选方案

阿拉考虑过其他 Web 框架,比方 Flask 搭 Pyramid。勿过,阿拉发现 Django 是更加成熟、更加牢靠个框架,有一套稳固个功能。

阿拉还讨论过勿用 Web 框架来开发应用,而是用 SQLAlchemy 搭 Flask-RESTful 迭类库。勿过,阿拉发现 Django 提供更加广泛个功能,所以对完整个 Web 应用来讲是更加好个选择。

后果

采用 Django 会带来下底几个后果:

  1. 因为 Django 内置个工具搭功能,开发搭维护应用更加容易。

  2. 业务逻辑搭展示层分离,让代码更加有条理,更加容易维护。

  3. 应用个可扩展性搭稳固性。

  4. 内置个安全功能,帮助保护应用免受常见个 Web 攻击。

  5. 可以利用庞大又活跃个社区来获得支持。

阿拉晓得 Django 个学习曲线比其他框架更加陡,勿过阿拉认为,对于伊所带来个长期好处,迭个投入是值得个。

结论

根据考虑过个因素,阿拉决定用 Django Web 框架来开发迭个 Web 应用。阿拉相信,Django 个功能、社区支持搭可扩展能力,让伊成为构建完整 Web 应用个最好选择。阿拉会培训开发者使用 Django,确保高效、有效地使用迭个框架。