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

Django不适合传达业务逻辑吗?,django,business-logic,business-logic-layer,satchmo,Django,Business Logic,Business Logic Layer,Satchmo,我几乎100%地专注于Django,因为我一直在计划的项目 我想“消除”的最后一个“神话”是,Django在工作中“平庸” 传达业务逻辑 Peter Shangov的直接引述: 无论您选择什么样的框架,您的实际需求都将非常重要 迅速超越电子商务模块中可用的功能 你开始的时候,你最终需要做的不是琐碎的事情 对它们进行更改,甚至从头开始重写 稍后。这是因为开源在很多方面都是例外 构建基础设施工具(想想web服务器、模板 语言、数据库、缓存等),但在 实现业务逻辑。如果我是你,我在找什么 是我最乐意攻

我几乎100%地专注于Django,因为我一直在计划的项目

我想“消除”的最后一个“神话”是,Django在工作中“平庸” 传达业务逻辑

Peter Shangov的直接引述:

无论您选择什么样的框架,您的实际需求都将非常重要 迅速超越电子商务模块中可用的功能 你开始的时候,你最终需要做的不是琐碎的事情 对它们进行更改,甚至从头开始重写 稍后。这是因为开源在很多方面都是例外 构建基础设施工具(想想web服务器、模板 语言、数据库、缓存等),但在 实现业务逻辑。如果我是你,我在找什么 是我最乐意攻读的图书馆,而不是 那看起来最成熟了

我让Django(与satchmo)面对的“产品”:

  • RubyonRails(带spree)[Ruby]
  • Catalyst[Perl]
  • JadaSite[Java]
  • 科纳卡特[爪哇]
  • 购物者[Java]
你能减轻(或证实)我对这个问题的担忧吗
上面提到的关于Django的引述?

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

答案很长——你需要澄清你所说的业务逻辑(以及“传达”它)是什么意思。您是在谈论流程映射、工作流管理还是流程本身的执行

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

在网上购物方面——就店面而言,业务“流程”是相当标准的,您可以轻松地将其映射到您列出的任何套餐。您没有提到您将运行哪种类型的商店,或者您的履行或交付流程是什么,因此如果satchmo内置了这些组件,或者您必须从头开始编写这些组件,则无法向您提供详细的响应

对于django来说,唯一可能的负面影响是它没有一个成熟的工作流引擎(GoFlow和django工作流这两个主要项目都暂停了),但这并不是对django的批评,因为它不是一个通用的web框架。它是为复杂的多状态工作流引擎不是主要需求的特定应用程序而设计的


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

我毫不怀疑,封闭源代码/专有人员也擅长构建基础设施工具和框架。他们不做的是释放它们,或者让人们玩它们。他们依靠自己,通过坚持特定于给他们钱的企业的“商业逻辑”来赚钱

如果你选择一个专有的解决方案,无疑也会有一些非琐碎的变化需要,你将支付通过鼻子的一家公司,为你提供了(不完全)的解决方案。“哦,再花4000美元向数据库中添加一类字段?嗯。哦,我想我们已经付给你100000美元,你的软件是封闭源码的,所以我们不能将其分包给招标过程……给你……”


开源更擅长于实现业务逻辑,因为归根结底,它的人是实现业务逻辑的,而不是框架,而开源意味着更多的人可以使用它。

我在这里可能完全不熟悉,但我想业务逻辑对于给定的业务来说是非常特殊的。Django不会帮你,Rails也不会。我不知道Shangov所说的“平庸”是什么意思,我宁愿说“无用”——你最终必须自己去做,或者找到另一个符合你需要的图书馆。如果你在做一个会计应用程序,你最好对会计有所了解,因为Rails肯定不知道。你到底在问什么?当然,所有框架都可以与您的业务逻辑接口,除非有某种奇怪的缺陷。Django的模型也可以容纳业务逻辑。请后退一步我不是在问我应该使用封闭源代码软件还是开放源代码软件;我在问哪个开源解决方案是正确的;德扬戈?