django - Django 不适合传达业务逻辑吗?

标签 django business-logic business-logic-layer satchmo

对于我一直在计划的项目,我几乎 100% 锁定在 Django 上。

我想“消除”的最后一个“神话”是 Django 在以下方面“平庸” 传达业务逻辑。

直接引用 Peter Shangov 的话:

Whatever your choice of framework your real-life needs will very quickly outgrow the functionality available in the ecommerce modules that you started with, and you will end up needing to make non-trivial changes to them or even rewriting from scratch sooner rather than later. This is because open source has always been exceptional at building infrastructure tools (think web servers, templating languages, databases, cacheing, etc.), but relatively mediocre at implementing business logic. So what I'd be looking for if I were you is the library that I'd be happiest to hack on rather than the one that looks most mature.

我将 Django(带有 satchmo)与“产品”进行比较:

  • Ruby on Rails(带狂欢)[Ruby]
  • 催化剂 [Perl]
  • JadaSite [Java]
  • KonaKart [Java]
  • Shopizer [Java]

您能否减轻(或确认)我对 前面提到的关于 Django 的引言?

最佳答案

简短的回答 - 当然它不好,因为它不是业务流程管理软件;它是一个用于 Web 开发和完成工作的框架。

长答案 - 您需要澄清业务逻辑(以及“传达”它)的含义。您是在谈论流程图、工作流管理还是流程本身的执行?

我不明白您列出的其他项目如何“传达”业务逻辑 - 因为它们不是业务流程图或测试或验证包。它们只是完成某些工作的框架。一旦定义并验证了流程(使用一些外部工具),您就可以在代码中执行该流程。

就在线购物而言 - 就店面而言,业务“流程”非常标准,您可以轻松地将其映射到您列出的任何套餐。您没有提到您将运营什么样的商店,或者您的履行或交付流程是什么,因此无法给您详细的答复,如果 satchmo 内置了这些组件,或者您必须从头开始编写它们。

谈到 django 时,唯一可能的负面因素是它没有成熟的工作流引擎(两个主要项目 GoFlow 和 django-workflows 已陷入停滞),但这并不是对 django 的批评,因为它不是一个通用网络框架。它专为特定应用程序而设计,复杂的多状态工作流引擎不是主要需求。

最后,就引用而言 - 在不了解上下文的情况下 - 我只能说最流行的业务流程映射软件之一实际上是开源的 JBoss BPM 引擎。

关于django - Django 不适合传达业务逻辑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8499362/

相关文章:

javascript - Django 客户端过滤

django - 如何在 Django REST 框架中使字段在创建时可编辑并在更新时只读

design-patterns - 在业务逻辑层中使用静态类

domain-driven-design - DDD - 将项目添加到订单/收据时的价格计算

business-logic - 业务层结构,如何建立自己的结构?

python - 如何将生成的图表保存在媒体文件夹中

Django:无法让 django-admin.py 运行任何东西

asp.net-mvc-4 - ASP.NET MVC FluentValidation 与 ViewModel 和业务逻辑验证

ruby-on-rails - 如何在Rails中实现 "business rules"?

web-services - UI、业务逻辑层、数据层以及放置 Web 服务的位置