随着我的Django项目越来越大,我面临着有关架构的问题。在开始编码之前,我花了很多时间为我的项目找到一个很好的架构:我如何在应用程序中拆分项目,哪些应用程序依赖于其他应用程序等等。需要明确的是,通过建筑我并不意味着项目布局。
我已经完成了我的研究,但我还没有找到一个资源来展示一些方法来找到给定Django项目的最佳架构。在Web开发之外,UML似乎是要走的路。
我的问题是:
1)为什么互联网上几乎没有关于这些主题的讨论?我的做法是否遗漏了一些错误?
2)UML可以用于处理Django项目架构吗?
3)Django是否有解决此问题的常用方法?
答案 0 :(得分:4)
在开始编码之前,我花了很多时间为我的项目找到一个很好的架构:我如何在应用程序中拆分项目,哪些应用程序依赖于其他应用程序等等。
我认为你是在思考这个问题。您的项目架构可以(并且可能应该)随着您的发展而发展。您可以从一个大应用程序开始,然后在适当的结构变得明显时拆分它。
1)为什么互联网上几乎没有关于这些主题的讨论?我的做法是否遗漏了一些错误?
因为简短的回答是“由你决定”或“这取决于你的项目”。这将对您有所帮助:Django: best practice for splitting up project into apps
2)UML可以用于处理Django项目架构吗?
我不明白为什么不。
3)Django是否有解决此问题的常用方法?
有几种方法,考虑分开你的应用程序:
答案 1 :(得分:2)
如果您希望获得有关如何为Web应用程序创建UML设计的一些指导,您可能会喜欢我的白皮书“Technical design in UML for AngularJS applications”。它侧重于Angular应用程序,但大多数应用程序通常适用于Web应用程序。
答案 2 :(得分:1)
收集到更多信息之后,我遇到了一个有趣的架构(我在reddit上发现了这个想法,但无法检索到该URL)。
您的整个代码应该分配到独立的应用程序中(关注点分离),您需要定义2"项目范围"应用程序(网站和工具):