在哪里放置更新表的业务逻辑?

时间:2017-07-25 20:15:24

标签: c# design-patterns model-view-controller model business-logic

我将把CreateOrder()业务逻辑放在哪里?

class Order // this is an entity model for DbContext
{
    public int Id { set; get; }
    public String name { set; get; }
}

public void CreateOrder(Details details)
{
    // set up Order fields

    database_name.Order.Add(order);
}

控制器会调用obj.CreateOrder(details);

它会进入App_Code文件夹中的其他类吗?

1 个答案:

答案 0 :(得分:0)

这个问题的答案已经有很多争论了。这完全取决于您希望如何构建应用程序。您可以在此处查看此问题的多个观点:MVC: Where to put business logic?

我见过CreateOrder方法属于Model的应用程序(在本例中是Order类)。

我还看到很多应用程序使模型保持尽可能干净(POCO类,就像你现在的那样),并将CreateOrder方法放在一个处理任何业务特定规则的业务层中,另一个CreateOrder方法放在一个数据层,可以处理实际将其提交给数据库。

有些设计适用于小型应用程序,而有些设计则适用于更复杂的应用程序。