0

我最近继承的许多站点都在 FW-1 的各种版本中(ColdFusion 的“轻量级”模型-视图-控制器框架。)我对它有一个功能上的掌握,但我'我还没有看到在未来的开发中使用它的优势。

如果愿意,请与我简要分享在数据库驱动的 Web 开发环境中使用 MVC 模式或框架以及如何加速开发的具体经验,而不是在更线性的组件功能系统中可能实现的开发。

如果出于审核目的,只有一个可以“回答”的技术问题是令人满意的,那么它是“如何在现实中或实践中使用 MVC 模式或 MVC 框架加速开发?(示例赞赏。)

4

2 回答 2

1

我几乎所有东西都使用 FW/1。平衡是在古老的 Fusebox 中完成的,在某些方面类似于 FW/1。对我来说,这与

鼓励代码划分

在你开始在任何平台上做 MVC 之后,代码开始自然地分裂自己。它是模型、控制器还是视图?这个模型是瞬态的吗?模型应该有路由模式吗?这真的是视图、布局还是嵌套布局的一部分?

自我文档

我将我的代码交给了另一个开发人员,他们立即知道他们正在处理什么样的事情。它在某个目录中,它必须是某种东西

扩展生命周期

application.cfc有它的生命周期。FW/1 极大地扩展了它。某些类型的代码应该去的地方有很多。

一致的 URL

路由模式定义了哪些类型的请求会起作用,哪些不会。它自我记录应用程序。

最后但并非最不重要的

如果您不喜欢所有这些功能,那就太好了。然后只需点击您喜欢的那些。您可以根据需要加速。

于 2016-03-16T23:45:32.043 回答
0

我从未听说过 FW-1,所以我的回答与这个特定的框架无关。我有使用 ColdBox 使用 CF9 和 Railo 以及使用 CFWheels 使用 Lucee 的经验。

我在 CFML 工作期间发现的 MVC 的所有优点(我不想为您提供与我知道的其他框架相关的一般性答案 - Ruby on Rails 或 Django):

  • 模型仅与数据库人员相关。也许这很有趣,但这就是它应该的样子。有时不是。我见过很多遗留代码,它们本来是模型,但所有东西都集中在一个地方。如果模型中的业务逻辑与其余部分隔离,则更容易对其进行测试和维护。此外,分离的模型允许您使用 ORM。

  • 控制器要薄得多。如果你需要输入更少的代码来完成同样的工作,你会做得更快。

  • 模板只是为了展示我们需要的东西,但它们里面不包含任何业务逻辑。以这种方式保持它允许我的公司雇用前端工程师,他们在 CSS、JS 等方面工作,如果他们接触 CF 代码,他们只会接触模板。他们很难处理所有的应用程序。

此外,当我知道在哪里可以找到我想使用的方法或只是修复错误时,我发现自己更有效率。如果您应用 MVC,您可以在出现问题时轻松缩小可能造成的损害范围,并且相信他们会这样做。

TL; DR: MVC 使您的开发更快、更健壮,并允许您为不同类型的开发人员分担工作。

于 2016-03-16T21:34:32.243 回答