Я пытаюсь создать factory (шаблон проектирования) в Objective C Поэтому я делаю что-то вроде:
+ (Car *)createCar:(int)color {
if (color == 1) {
return [CarFactory createBlueCar];
} else if (color == 2) {
return [CarFactory createRedCar];
} else {
return nil;
}
}
+ (Car *)createBlueCar {
// ...
}
+(Car*)createRedCar{
// ...
}
Однако я не хочу, чтобы createBlueCar
и createRedCar
были доступны для публики, и если я не определяю их в файле .h
, тогда я получаю предупреждение о отсутствующем определении.
Я бывший разработчик Java и новичок в Objective-C. Так что это может быть просто плохая практика. Если так, то это хорошая практика.