想知道人们如何在程序中设计对象和使用设计模式。
例如:
假设我有两种类型的汽车(宝马,奔驰)和两种颜色(黑色,白色),但是颜色对象已经存在两种方法,它们是
[Color initWithBlack];
[Color initWithWhite];
在 .h 文件中定义两个方法
- (Car *)makeWithType:(NSString *)type;
- (Car *)makeWithType:(NSString *)type andColor:(NSString *)color;
在 .m 文件中
- (Car *)makeWithType:(NSString *)type
{
// default is black
return [self makeWithType:type andColor:@"black"];
}
- (Car *)makeWithType:(NSString *)type andColor:(NSString *)color
{
Car *car = [[Car alloc] init];
car.type = type;
switch(color) {
case "black":
[car addColor:[Color initWithBlack]];
break;
case "white":
[car addColor:[Color initWithWhile]];
break;
default:
break;
}
return car;
}
它是定义和实现对象的正确方法吗?
是否存在松散或紧密的依赖耦合?
如果很紧,如何改进设计以减少耦合?