#import "ConcreteColleague2.h"
#import "Colleague.h"
@implementation ConcreteMediator
@synthesize colleague1;
@synthesize colleague2;
-(void)Send:(NSString *)message :(Colleague *)colleague{
if ([colleague isKindOfClass:[ConcreteColleague1 class]]) {
[colleague2 Notify:message];
}
else {
[colleague1 Notify:message];
}
}
@end
ConcreteColleague1类接口
复制代码
#import "Colleague.h"
@class Mediator;
@interface ConcreteColleague1 :Colleague
-(ConcreteColleague1*)MyInit:(Mediator*)mediator;
-(void)Send:(NSString*)message;
-(void)Notify:(NSString*)message;
@end
ConcreteColleague1类实现
复制代码
#import "ConcreteColleague1.h"
#import "Mediator.h"
@implementation ConcreteColleague1
-(ConcreteColleague1*)MyInit:(Mediator*)mediator{
if (self == [super init]) {
myMediator = mediator;
}
return self;
}
-(void)Send:(NSString *)message{
[myMediator Send:message :self];
}
-(void)Notify:(NSString *)message{
NSLog(@"ConcreteColleague1 got message:%@", message);
}
@end
ConcreteColleague2类接口
复制代码
#import "Colleague.h"
@class Mediator;
@interface ConcreteColleague2 :Colleague
-(ConcreteColleague2*)MyInit:(Mediator*)mediator;
-(void)Send:(NSString*)message;
-(void)Notify:(NSString*)message;
@end
ConcreteColleague2类实现
#import "ConcreteColleague2.h"
#import "Mediator.h"
@implementation ConcreteColleague2
-(ConcreteColleague2*)MyInit:(Mediator*)mediator{
if (self == [super init]) {
myMediator = mediator;
}
return self;










