我的同事告诉我——我们没有业务逻辑,我们只有像 GetById、GetBySearchTerm、GetByParentID 这样的 CRUD ......所以我开始怀疑这些词。
在阅读了 DDD 之后,这些方法是 CRUD,它们具有基于某些特定代码(通常是 SQL)获取数据(也存储、更新、删除......)的机制。
如果业务分析师对我说:“我们需要显示有关特定客户的数据”。在我看来,这是一个业务流程(GetById),GetById 应该放在应用程序的业务逻辑部分中,并与存储库联系以获取数据。具有 CRUD 方法的存储库负责根据某些标准持久化数据。
我知道这个问题可能会引发关于拥有原子方法(GetById、GetBySearchTerm、GetByParentiId ...)的存储库的争论,但我的问题很简单——这些方法是 CRUD 还是业务逻辑方法。