代码之家  ›  专栏  ›  技术社区  ›  Ben Gribaudo

使用中间服务层时为每个窗体维护一个会话

  •  1
  • Ben Gribaudo  · 技术社区  · 14 年前

    Building a Desktop To-Do Application with NHibernate ,Oren Eini(又名Ayende Rahien)持有一般推荐的NHibernate惯例使用的股份 每个表单一个会话 在桌面应用程序中。在给定的示例中,这很容易实现,因为表单呈现者了解持久层,因此可以创建和处理会话以匹配其生命周期。

    在更复杂的应用程序中,服务/业务逻辑层(BLL)通常位于UI代码和持久层之间。UI层对持久性(或会话)一无所知。在这种情况下,一个(或一个?)每个表单维护一个会话?


    3 回复  |  直到 14 年前
        1
  •  0
  •   Diego Mijelshon    14 年前

    服务层仍将直接或通过使用当前会话上下文注入会话。

        2
  •  0
  •   yfeldblum    14 年前

    您可能会考虑使用MVC架构,在web应用程序中很流行,控制器直接处理域模型和NHibernate会话,而不是将业务逻辑委托给业务逻辑层。控制器可以随心所欲地维护自己的会话。

        3
  •  0
  •   Iñaki Elcoro    14 年前

    您应该决定服务层是否需要到桌面客户机的会话,并根据服务需要在nhibernate中实现会话。