[英]Application with interchangeable persistance layer
在我看到的 95% 的示例中,人们将@Entity
或@Document
注释添加到他们的域对象中。
我想创建一个可以轻松更改持久层的应用程序。 应该可以将设置从SQL DB
切换到 ex MongoDB
等。
我想让我的域对象完全独立于持久层。
其中Item
是域 object。
public interface ItemsRepository {
List<Item> getItems();
}
每个ItemsRepository
实现都有自己的专用持久层 object。 对于 SQL,假设为ItemEntity
class,对于 Mongo ItemDocument
class。 并且每个持久性 object 都具有与域 object 之间的转换。
这样的方法可以接受吗? 如果不是,解决该问题的最佳行业模式是什么?
我认为这是Dependency Inversion Principle的一个很好的应用。 我这样说并不是为了反驳对该问题的其他评论,而是强调这种设计从多个角度来看似乎是站得住脚的。 我经常根据类似的结构设计代码库。 是的,我会说这是可以接受的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.