The requirement in my project is creation of itinearay ..which will have a name,category(like adventure,classisc),noofdays(eg 6 day itinerary)..so..to design this situation when user creates an itinerary,i need to create an itinerary object with name,category and noofdays(my understnding is that these are invariant of class)..my question is where to check if data supplied by user is incorrect(eg 0 nofodays is invalid)..in constructor..if so,if data is invalid..what nees to be done raise exception and destroy object? or use a factory class to create object..which will check data provided and if everything is ok,then create itinerary object..How i have implememted..
Code:
public class Itinerary
{
private string _ItineraryName;
private byte _ItineraryDays;
private string _ItineraryCategory;
public Itinerary(string itineraryName,byte itineraryDays,string itineraryCategory)
{
if (itineraryName == "")
{
throw new ArgumentException() ;
}
else
{
_ItineraryName = itineraryName;
_ItineraryDays = itineraryDays;
_ItineraryCategory = itineraryCategory;
}
}
.