Это вопрос OOD.Дизайн календаря.Требование:
- добавление события
- удаление события
- получение всех событий за определенный день
Обоснование структуры данныхи разработка тестовых случаев
Я знаю, что мне нужно предоставить такие API, как addEvent (), deleteEvent (), getEventByDay ()
Я застрял на первом API, добавлю событие.Я предложил два решения, я просто не знаю, какой шаблон лучше и почему.
version1:
public class Calender {
// helper class
public static class Event {
String name;
Event(String s) {
name = s;
}
}
Calender() {
}
// API
public void addEvent(Event e) {
// todo
}
// driver function
public static void main(String[] args) {
Calender calender = new Calender();
Event event = new Event("event");
calender.addEvent(event);
}
}
version2:
public class Calender {
int systemId;
// helper class
public static class Event {
String name;
Event(String s) {
name = s;
}
}
Calender() {
}
// API
public int addEvent(String s) {
Event event = new Event(s);
systemId++;
return systemId - 1; // after add an event, return the unique id for it
}
// driver function
public static void main(String[] args) {
Calender calender = new Calender();
int id = calender.addEvent("a");
}
}
Класс вышене завершен.Основное отличие состоит в том, что нам нужно позволить пользователю создать событие, затем добавить этот экземпляр или просто использовать существующий API для создания события и получить уникальный идентификатор для этого события?