我正在使用一个带有大约50种方法的大型接口来访问数据库。该界面是由我的一位同事编写的。我们讨论了这一点:
我:50种方法太多了。这是代码气味。
同事:我该怎么办?您需要数据库访问权限-您拥有它。
我:是的,但是目前还不清楚,将来很难维护。
同事:好的,您是对的,不好。界面应该如何?
我:有5种方法返回的对象各有10种方法怎么样?
嗯,但这不一样吗?这真的会导致更加清晰吗?值得付出努力吗?
我时不时地处于需要界面的情况,而想到的第一件事就是一个大型界面。是否有通用的设计模式?
更新(响应SJuan的评论):
“种类的方法”:它是用于从数据库中获取数据的接口。所有方法都具有形式(伪代码)
List<Typename> createTablenameList()
方法和表并不完全是1-1关系,而是更多地关注您总是从数据库中获得某种列表的事实。
List<WeatherDataRecord> createWeatherDataTable() {db.open(); return db.select("*", "tbl_weatherData");}
UserDao
和aCustomerDao
和aProductDao
)