Service 或是 Repository 使用 DB Connection 方式?

方式2,每个方法增加 Connection 参数,优点是能管控 Transation,在多个业务逻辑能出问题一次rollback。如下订单需要经过 Order 跟 OA 审批的 Service,能共用 connection。

方式1,个人没用,但外层方法function可以不需要管理 Connection

请问哪一种比较符合大业务量的需求

//方法一 : 每个 Service 方法自己建立 Connection

public class OAService

{

public bool SendApplication()

{

using(var cnn = DB.GetConnection())

{

//..

}

}

}

public class OrderService

{

public bool CreateNewOrder()

{

using(var cnn = DB.GetConnection())

{

//..

}

}

}

//方法一 : 每个 Service 方法使用外部传进来的Connection

public class OAService

{

public bool SendApplication(DbConnection cnn)

{

//..

}

}

public class OrderService

{

public bool CreateNewOrder(DbConnection cnn)

{

//..

}

}


回答:

既然选择分层,那就应该遵守分层规则,Service 重点在于组合 Repository 来处理业务,而 ConnectionTransation 本身就是 Repository 层面的事,惯穿到 Service 那分层就没什么意义了;

试想一下,如果你的 Repository 并不是使用 DB,你所困惑的ConnectionTransation 还有意义吗?

所以问题本身应该是,你为什么要选择分层?

以上是 Service 或是 Repository 使用 DB Connection 方式? 的全部内容, 来源链接: utcz.com/p/945046.html

回到顶部