Лучший подход для проверки даты в объектно-ориентированном дизайне - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь найти лучший подход для подтверждения даты.Я строю эту дату, используя объекты.

public Appointment(String description , AppointmentDate appointmentDate)
{
    this.description = description; 
    this.appointmentDate = appointmentDate;
}

Это просто простой конструктор, использующий информацию из назначенной даты для создания встречи.

public AppointmentDate(Date startTime,Date endTime,Date appDate){
    this.startTime = startTime;
    this.endTime = endTime;
    this.appDate = appDate; 

}

Это и есть назначение.конструктор, который передается в параметре конструктора встреч.

Я склоняюсь к методу isLenient (), чтобы проверить, является ли пользовательский ввод допустимой датой, но мне любопытно, что может быть более простой способделать это

public void add(Appointment a) 
{
    try
    {
        a.setLenient(false);
        appointmentCalender.add(a);
    }
    catch(Exception ex)
    {
        System.out.println("Invalid Date");
    }
}

1 Ответ

0 голосов
/ 24 ноября 2018

Я бы сделал это так, Это моя логика, но вы можете понять из этого

public void add(Appointment a) 
{
    if (dateValidate(a)){
        appointmentCalender.add(a);
    }else{
    System.out.println("Invalid Date");
    }
}

public boolean dateValidate(Appointment a){

    if(a.getAppointmentDate().getStartTime().after(a.getAppointmentDate().getAppDate())){
        if(a.getAppointmentDate().getEndTime().after(a.getAppointmentDate().getStartTime())){
            return true;
        }
    }
    return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...