最近由于轨道的受欢迎程度,许多人开始使用email作为模型。然而,之前我听到的轨道(我的对等小组不是一个风扇开放源码的东西,我们被教导在一个.学校净...)虽然我在做我的最后一年的项目,我发现这个定义为一个模型

该模型代表了企业的数据和业务规则管理访问,并更新这一数据。往往模型作为一个软件近来一个真正的世界的过程中,就这么简单真实世界的模型技术时适用的限定模型。

它没有说的模型应代表一表为什么email。和通常的内部事务,一个可能需要查询一些无关的表格和随后操纵数据从不同表...因此,如果email用作模型,然后要么是一个必须填入所有逻辑码进入控制器(这是很受欢迎,在一些php框架),这使得很难测试或破解email模型,使其执行数据库操作上不仅表它的地图,但也有其他的相关表,以及...

那么,什么是那么伟大约滥用(恕我直言)email作为模型中的视的建筑模式?

有帮助吗?

解决方案

马丁*福勒所描述的这个图案模式的企业应用程序构一起与其他两个模式或结构。这些模式是好的,对不同情况和不同金额的复杂性。

如果你想要所以只有简单的东西,你可以使用的交易脚本。这是一个结构你看到了很多的老ASP和PHP页,其中一个单一的脚本中所包含的业务逻辑、数据访问的逻辑和显示的逻辑。这个瀑布,除了速度快,当事情变得更复杂。

接下来的事你能做的就是添加一些分离之间的介绍和模型。这是email.该模型仍然依赖于数据库的但是你多一点的灵活性,因为你可以重复使用模型/dataccess之间的风景/pages/无论。它不是灵活的,因为它可以但这取决于你的数据访问方案,它能够灵活。框架就像里昂证券。网有很多的方面,从这个patterm(我认为体框架看起来有点太像这太)。它仍然可以处理一个很复杂性而不会变得不可维护.

下一步是分开数据访问层和你的模型。这通常需要一个良好或映射器或大量的工作。所以,不是每个人都想要走这条路。很多的方法学等领域驱动的设计perscribe这种做法。

因此,它是所有问题的上下文。你需要什么以及什么是最好的解决方案。我甚至还利用交易-脚本时,为简单的单使用的代码。

其他提示

我已经说过很多次,使用活动的记录(或奥姆这几乎是相同)作为业务模式是不是一个好主意。让我解释一下:

事实上,PHP是开放源代码,免费的(和所有漫长的故事...)提供了它与一个巨大的社区开发者涌码进入论坛网站,如审查,谷歌码等。您可能会看到这样一件好事,但有时也往往不是"很好".例如,假设你正面临一个项目,并希望使用一个奥姆框架面临的问题PHP编写的,嗯...你会有很多的 选择:

  • 理论
  • 推进
  • QCodo
  • 麻木
  • RedBean

而这样的例子不胜枚举。新项目的创建。所以想象一下,你已经建立了一个全面框架,即使源代码生成基于该框架。但是你没有置于业务类别,因为,毕竟,"为什么写作的同类吗".时间的流逝和一个新的奥姆框架释放和你想切换到新奥姆,但只有修改的几乎每一个客户应用程序使用的直接参考数据模型。

底线、活动记录和对象,目的是要在数据层的应用程序,如果混合他们与你介绍层,可以经验问题,这个例子中,我已经奠定。

听@Mendelt是明智的话:读马丁*福勒.他把许多书籍和文章OO设计和出版了一些很好的材料上的问题。此外,您可能想要看看 反模式, 更具体地说到 供应商锁定, ,这时会发生什么我们使我们的应用程序依赖于第3个缔约方的工具。最后,我写了 博客中谈到同样问题,所以如果你想要,检查出来。

希望我的答复已有的任何使用。

伟大的事情有关使用导轨Email作为一个模型中的视的是,它给你一个自动的对象(对象关系映射器)和简单的方法来创建之间的关联模式。正如你已经指出的,视有时可能会缺乏。

因此,对于一些复杂的交易涉及许多模式,我建议使用者之间在你的控制器和模型(轨演示模式).主持人会聚集你的型号和交易的逻辑,并将继续容易进行测试.你一定要努力保持你的所有的业务逻辑模型或主持人,和你的控制器(瘦瘦的控制器,脂肪的模型).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top