使用DDD和Python的大规模服务器应用程序?

Eri*_*epa 7 python domain-driven-design dependency-injection

我们是一家python商店,正准备构建一个大型服务器应用程序.

为了有效地模拟逻辑,我们计划使用DDD,包括域事件,规范,存储库等战术模式......

洋葱架构适用于python吗?python中的抽象能力是否足够?

从技术上讲:我做了一点研究,发现没有流行的DI容器,实际上DI在Python中被认为是一种不好的做法,考虑到DI是我用来在应用层中实例化复杂对象的方式,看起来很可疑...

从架构上讲,python(CPython)中没有内置的多线程支持.python提供的协作多线程模型对于具有横向扩展选项的单线程体系结构来说已经足够了.或者是吗?

在潜水之前是否还有更多挑战和值得考虑的事情?

底线是:有没有人有使用DDD和Python实现大规模企业应用程序的经验?或者我们应该坚持使用.NET/Java并且安全吗?

提前谢谢,Erik.

All*_*ore 7

不确定,但听起来你可能是来自java/.net商店的这个组织中的新雇员("...... 考虑到DI是如何用来在应用程序层中实例化复杂对象,这似乎是可疑的. ..).

记住

  • 您可以使用几乎任何编程语言的干净设计进行DDD.

  • 看看Add Roll提供的这个视频.基本上,主要观点是解决方案可扩展性由架构和设计选择决定,而不是编程语言或平台.

  • 还要考虑,Drop Box是用Python构建的,在他们考虑任何C优化之前已经扩展到100万用户.

净净

从产品开发的角度来看,您通常不希望使用"新"技术将任何关键路径项置于风险之中.新的意味着新的市场新的团队/组织.在这种情况下,根据您的帖子" 我们是一家蟒蛇商店 "的第一部分,我至少会尊重您内部团队的专业知识,并利用您现有团队的核心竞争力.与重新培训员工使用其他技术平台相比,您的项目风险要低得多,并缩短产品上市时间.