Flo*_*her 5 sqlite android dao android-room android-architecture-components
我想了解 RoomDatabase 幕后发生的事情,它要求 DAO 是一个接口或一个抽象类。我已经搜索了很长一段时间,但所有文章和文档都只解释了如何,而不是原因。
不仅仅是Room、Retrofit和其他库也使用这种模式,它被称为“接口编程”。您不必只是创建一个具体的实现,您只需指定您想要做的事情,它们就会为您提供一个按照您的要求运行的实现。
如需进一步研究,您可以查看这篇文章: https://tuhrig.de/programming-to-an-interface/