Spring数据自定义存储库和接口隔离原则

时间:2017-06-17 04:17:42

标签: java spring spring-data solid-principles

我正在使用我自己的存储库模型,我有这个:

enter image description here

我遵循接口隔离原则。我有一个ReadRepository来定义只读操作,PaginationRepository用于在ReadRepository方法上添加Pagination,而CrudRepository用于所有CRUD操作。最后,我有BaseRepository与PaginationRepository和CrudRepository的行为。正如您在图片中看到的那样,BaseRepository从ReadRepository Twice扩展到它的两个父节点。这个模型让我可以灵活地创建特定的实体存储库(readOnly,readOnly + Pagination,crud操作或crud操作+分页)但是,传递继承是一种不好的做法吗?

1 个答案:

答案 0 :(得分:0)

深度继承结构在用于继承实现时仅被视为问题。使用接口时,我看到的唯一潜在问题是,当两个接口都实现时,您可能会遇到来自不同接口的不同方法。但由于所有接口都在您的控制之下,这应该不是问题。