Сообщение Re[2]: Интерфейсы и реализация от 02.09.2020 20:11
Изменено 02.09.2020 20:18 ·
Re[2]: Интерфейсы и реализация
Здравствуйте, rosencrantz, Вы писали:
R>Если интерфейс выкинуть и оставить только сам BatchInsertingUserHandler, тут возникает много неясностей
Я не вижу никаких неясностей. Что плохого с именем "UserHandler" для этого класса? Зачем этот префикс BatchInserting?
R>Если интерфейс выкинуть и оставить только сам BatchInsertingUserHandler, тут возникает много неясностей
Я не вижу никаких неясностей. Что плохого с именем "UserHandler" для этого класса? Зачем этот префикс BatchInserting?
Re[2]: Интерфейсы и реализация
Здравствуйте, rosencrantz, Вы писали:
R>Если интерфейс выкинуть и оставить только сам BatchInsertingUserHandler, тут возникает много неясностей
Я не вижу никаких неясностей. Что плохого с именем "UserHandler" для этого класса? Зачем этот префикс BatchInserting?
И что не так?
R>Если интерфейс выкинуть и оставить только сам BatchInsertingUserHandler, тут возникает много неясностей
Я не вижу никаких неясностей. Что плохого с именем "UserHandler" для этого класса? Зачем этот префикс BatchInserting?
class UserCsvReader {
void readAllUsers(UserHandler userHandler) {
...
}
}
class BatchInserter<TRow> {
BatchInserter(String sql, int batchSize) {...}
void insert(TRow row) {
if (batch.size < batchSize) {
batch.add(row);
} else {
connection.batchUpdate(sql, batch);
batch.clear();
}
}
}
class UserHandler {
UserHandler(BatchInserter<UserRow> batchInserter) {}
void handleUser(User user) {
UserRow r = makeRowFromUser(user);
batchInserter.insert(r);
}
}
BatchInserter<UserRow> batchInserter = new BatchInserter("insert into Users(...)");
UserHandler userHandler = new UserHandler(batchInserter);
UserCsvReader reader = new UsersCsvReader();
reader.readAllUsers(userHandler);
И что не так?