【问题标题】:session facade, does it belong to the Model layer or Controller layer?session 门面,是属于 Model 层还是 Controller 层?
【发布时间】:2011-08-04 05:02:05
【问题描述】:

其中一个业务规则是记录哪些人员做了哪些操作,当前代码将整个会话外观传递给Service(模型层)。

它的声音/气味是否正确?控制器不应该处理会话外观并提取数据并将它们传递给服务吗?

会话外观的主要原因不是为了......轻松测试控制器层吗?将整个会话外观传递给模型有意义吗?

谢谢

【问题讨论】:

    标签: model-view-controller coldfusion coldbox


    【解决方案1】:

    如果会话外观是指业务流,那么控制器应该与该层交互。如果 Facade 在应用程序中是真正独立的层,那么将 Facade 传递到业务模型中通常是没有意义的。

    应用程序逻辑(由您的会话外观控制)和业务逻辑(实际领域模型的一部分)是分开的。在我看来,这些是两个独立的层。

    希望这会有所帮助。

    【讨论】:

    • 只有控制器应该与会话交互(如果适用,通过外观)。
    【解决方案2】:

    通常,我的控制器级别会根据需要将值传递给每个服务方法。该服务不关心它们来自哪里(会话、用户提交等),它只是接受它们,完成它的工作并返回结果。控制器处理从适当位置(数据库、会话、用户提交等)抓取各种值,然后将它们传递给服务层。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-10
      • 1970-01-01
      相关资源
      最近更新 更多