데이터베이스에 액세스하기 위해 약 50 가지 방법으로 큰 인터페이스를 사용하고 있습니다. 인터페이스는 내 동료에 의해 작성되었습니다. 우리는 이것을 토론했다 :
나 : 50 가지 방법이 너무 많다. 코드 냄새입니다.
동료 : 어떻게해야합니까? DB 액세스를 원합니다.
나 : 네,하지만 미래에는 불분명하고 유지 보수가 거의 불가능합니다.
동료 : 네, 맞습니다. 좋지 않습니다. 그러면 인터페이스는 어떻게 보입니까?
나 : 각각 10 개의 메서드가있는 객체를 반환하는 5 개의 메서드는 어떻습니까?
흠,하지만 같지 않습니까? 이것이 정말로 더 명확 해 집니까? 노력할만한 가치가 있습니까?
때때로 나는 인터페이스를 원하는 상황에 처해 있으며 가장 먼저 떠오르는 것은 하나의 큰 인터페이스입니다. 이것에 대한 일반적인 디자인 패턴이 있습니까?
업데이트 (SJuan의 의견에 따라) :
"종류의 메소드": 데이터베이스에서 데이터를 가져 오기위한 인터페이스입니다. 모든 메소드의 형식은 (의사 코드)
List<Typename> createTablenameList()
메소드와 테이블은 정확히 1-1- 관계에 있지 않으며, 항상 데이터베이스에서 온 일종의 목록을 얻는다는 점이 더욱 강조됩니다.
List<WeatherDataRecord> createWeatherDataTable() {db.open(); return db.select("*", "tbl_weatherData");}
UserDao
와 aCustomerDao
와 aProductDao
)