我想知道我应该如何分组我的存储库?就像我在 asp.net mvc 上看到的例子一样,在我的书中,他们基本上每个数据库表使用一个存储库。但是,这看起来像是很多存储库导致您不得不在以后调用许多存储库来进行嘲笑之类的操作。
所以我猜我应该把它们分组,但是我不知道如何分组。
现在我做了一个注册仓库来处理我所有的注册事宜。然而,我需要更新大约4个表,在我有3个仓库来做这件事之前。
例如,其中一个表是许可证表。当他们注册时,我查看他们的密钥并检查它是否存在于数据库中。现在,如果我需要检查这个许可证密钥或其他东西从该表在其他地方,然后注册?
一个点可以是登录(检查密钥是否过期)。
这种情况下我该怎么办?再次重写代码(中断 DRY) ?尝试将这两个存储库合并在一起,并希望在其他时间点不需要这些方法(比如我可能有一个检查是否使用了 userName 的方法——也许我将在其他地方需要它)。
而且,如果我把它们合并在一起,我需要两个服务层到同一个存储库,因为我认为一个站点的两个不同部分的所有逻辑都很长,我必须有像 ValidateLogin () ,ValdiateRegistrationForm () ,ValdiateLoginRetrievePassword ()等名称。
或者给仓库打个电话,起个听起来怪怪的名字?
要创建一个具有足够通用名称的存储库,以便您可以在应用程序的许多地方使用它,并且仍然有意义,这似乎很困难,而且我不认为在存储库中调用另一个存储库是一种好的做法?