【问题标题】:Is Django bad for conveying business-logic? [closed]Django 不利于传达业务逻辑吗? [关闭]
【发布时间】:2012-01-19 22:12:34
【问题描述】:

对于我一直在计划的项目,我几乎 100% 都使用 Django。

我想“消除”的最后一个“神话”是 Django 在 传达业务逻辑。

Peter Shanov 直接引用:

无论您选择什么样的框架,您的实际需求都会非常 快速超越电子商务模块中可用的功能 你开始的时候,你最终需要做出不平凡的事 对它们进行更改,甚至更快地从头开始重写,而不是 之后。这是因为开源在 构建基础设施工具(想想 Web 服务器、模板 语言、数据库、缓存等),但在 实现业务逻辑。如果我是你,我会寻找什么 是我最乐意破解的图书馆,而不是那个图书馆 看起来最成熟。

我将 Django(与 satchmo)放在对抗的“产品”:

  • Ruby on Rails(大礼包)[Ruby]
  • 催化剂 [Perl]
  • JadaSite [Java]
  • KonaKart [Java]
  • 购物者 [Java]

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

【问题讨论】:

  • 我可能完全不在这里,但我想业务逻辑对于给定的业务非常特殊。 Django 不会帮你,Rails 也不会。我不知道 Shanov 所说的“平庸”是什么意思,我宁愿说“没用”——你最终必须自己做,或者找到另一个符合你需求的库。如果你在做一个会计应用程序,你最好对会计有所了解,因为 Rails 肯定不会。
  • 你到底在问什么?当然,所有框架,除非莫名其妙地瘫痪,都可以与您的业务逻辑交互。 Django 的模型也可以包含业务逻辑。

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


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

    我不怀疑闭源/专有人员也擅长构建基础设施工具和框架。他们不做的就是释放他们,或者让人们和他们一起玩。他们建立在自己的基础上,通过坚持特定于为他们提供资金的企业的“业务逻辑”来赚钱。

    如果您寻求专有解决方案,那么无疑还需要进行一些重要的更改,并且您将通过鼻子向为您提供(不完全)解决方案的公司支付费用。 “哦,另外 4000 美元用于在数据库中添加一个额外的字段类别?嗯。哦,我想我们已经付给你 100,000 美元了,而且你的软件是封闭源代码的,所以我们不能将它分包到招标过程中……给你走吧……”

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

    【讨论】:

    • 后退一秒! - 我不是在问我是否应该使用封闭或开源软件;我在问哪个开源解决方案是正确的; DJango?
    猜你喜欢
    • 2012-08-26
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多