面向对象设计中日期验证的最佳方法

时间:2018-11-23 22:31:11

标签: java date object

我正在尝试找出验证日期的最佳方法。我正在通过使用对象构造此日期。

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 :(得分:0)

我会这样,这是我的逻辑,但是您可以从中得到一个想法

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;
}