我正在构建一个公开公开数据库操作的Web服务。这些操作在某种程度上代表了数据库 API 。
现在我想知道,这种 API 的设计应该如何?所有数据库交互的方法应该在同一个类中吗?
在特定情况下,我有3个数据库表:User
,Country
,Town
。现在,我是否编写像
fetchAllUsers()
fetchUserById(int id)
fetchUserByName(String name)
saveUser(User user)...
fetchAllCountries()
fetchCountryById(int id)
fetchCountryByCode(String code)
fetchAllTowns()
fetchTownById(int id) ...
问题1:这是很多方法。如果有超过3个类,将会有大量这样的方法。那真的是这样吗?
问题2:如果所有这些方法都位于同一个类中,我们可以将其称为DatabaseAPI.java
吗?因此,无论用户请求什么操作,Web服务总是在DatabaseAPI.java
中查找所有此类方法的操作,或者我应该以不同的方式组织它们?