Java 软删除包位置
我有以下结构的现有spring项目Java 软删除包位置,java,spring,soft-delete,Java,Spring,Soft Delete,我有以下结构的现有spring项目 -com.project -chat -domain -Chat -ChatRepository -ChatRepositoryImpl -... -exception -... -email -domain -Email -EmailRepository -EmailRepositoryImpl -... -... 我认为该项目具有这种结构,因为在
-com.project
-chat
-domain
-Chat
-ChatRepository
-ChatRepositoryImpl
-...
-exception
-...
-email
-domain
-Email
-EmailRepository
-EmailRepositoryImpl
-...
-...
我认为该项目具有这种结构,因为在完成MVP之后,它可能被划分为微服务
我想通过编辑电子邮件实体并修改其存储库,为电子邮件添加软删除功能。但其他实体将来也可能需要软删除功能,所以现在我很好奇该怎么做
是否最好在单独的包中创建一些基本实体,其中包含isDeleted和deletedAt字段以及基本SoftDeleteRepository,然后所有实体和repo将扩展它们或创建某种库,我将在每个包中使用它们,或者可能有其他方法来处理此问题?除非你肯定它会被分成微服务 即使您现在将它们分为不同的域,您仍然需要重构if
Email
,无论出于何种原因调用Chat
。这可能有点棘手,需要避免,而且无论如何都需要重构
现在只需使用一个
utility/common
文件夹来存放SoftDeleteRepository
。您可能需要将其重构为两个微服务共享的单独工件,或者只是复制/粘贴它们。有时最好记住,一个微服务应该由不同的团队拥有,并且拥有不同的数据库。有时候复制paste=]是可以的。我想说的是,除非您确定它将被划分为微服务,否则不要考虑太多
即使您现在将它们分为不同的域,您仍然需要重构ifEmail
,无论出于何种原因调用Chat
。这可能有点棘手,需要避免,而且无论如何都需要重构
现在只需使用一个utility/common
文件夹来存放SoftDeleteRepository
。您可能需要将其重构为两个微服务共享的单独工件,或者只是复制/粘贴它们。有时最好记住,一个微服务应该由不同的团队拥有,并且拥有不同的数据库。有时可以复制粘贴=]