我想为桌面应用程序重用一个很棒的Android库。
此库中唯一的Android特定部分是使用android.database.sqlite。
在这种情况下,最佳做法是什么?
android.database.sqlite
中换行some SQLite Java library并使用该库而不做任何修改?答案 0 :(得分:1)
首先,这可能对你的申请来说太过分了。
我的建议是将数据库调用抽象为接口。因此,对于需要SQLite的库的所有部分,使用新接口,并实现“扩展”接口的“SQLite数据库提供程序”,该接口调用SQLite方法。
我建议使用'依赖注入'将数据库部分注入您的库。
因此,当您在桌面应用程序中使用该库时,您可以简单地注入一个不同的接口实现(MySql Provider?),并且您已准备就绪。
这也允许您随时注入任何其他数据库提供程序,而无需再次更改核心库代码。