gpt4 book ai didi

architecture - 拥有仅包含静态方法的模型有意义吗?

转载 作者:行者123 更新时间:2023-12-04 04:53:21 25 4
gpt4 key购买 nike

我正在开发一个 ASP.NET MVC 2 项目,我想知道应该将一些代码放在哪里。

我目前有一个 UsersModel,它由一堆针对我的数据上下文进行操作的静态方法组成。

这些方法包括:UserExistsInDatabaseUserIsRegisteredForActivityGetUserIdFromFacebookId 等。

这些方法应该位于 UsersModel 类内部,还是更适合模型上下文之外的用户帮助器类?

为任何指点干杯。

最佳答案

不要使用静态方法。将它们抽象到存储库中:

public interface IUsersRepository
{
bool UserExistsInDatabase(User user);
bool UserIsRegisteredForActivity(User user);
...
}

然后针对某些数据存储实现:

public class UsersRepository : IUsersRepository
{
...
}

最后为您的 Controller 提供此存储库的一个实例,以便它可以与用户一起使用:

public class HomeController : Controller
{
private readonly IUsersRepository _repository;
public HomeController(IUsersRepository repository)
{
// the repository is injected into the controller by the DI framework
_repository = repository;
}

// ... some action methods that will use the repository
}

关于architecture - 拥有仅包含静态方法的模型有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2928764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com