iOS App设计模式开发中对interpreter解释器模式的运用

2020-01-15 13:36:36刘景俊

Context类接口

复制代码
#import <Foundation/Foundation.h>

 

@interface Context :NSObject
@property NSString *Input;
@property NSString *Output;
@end


Context类实现
复制代码
#import "Context.h"

 

@implementation Context
@synthesize Input,Output;
@end


AbstractExpression类接口
复制代码
#import <Foundation/Foundation.h>

 

@class Context;
@interface AbstractExpression:NSObject
-(void)Interpret:(Context*)context;
@end


AbstractExpression类实现
复制代码
#import "AbstractExpression.h"

 

@implementation AbstractExpression
-(void)Interpret:(Context *)context{
    return;
}
@end


TerminalExpression类接口
复制代码
#import "AbstractExpression.h"

 

@interface TerminalExpression :AbstractExpression
@end


TerminalExpression类实现
复制代码
#import "TerminalExpression.h"

 

@implementation TerminalExpression
-(void)Interpret:(Context *)context{
    NSLog(@"终端解释器");
}
@end


NonterminalExpression类接口
复制代码
#import "AbstractExpression.h"

 

@interface NonterminalExpression:AbstractExpression
@end


NonterminalExpression类实现
复制代码
#import "NonterminalExpression.h"

 

@implementation NonterminalExpression
-(void)Interpret:(Context *)context{
    NSLog(@"非终端解释器");
}
@end


Main方法调用
复制代码
#import <Foundation/Foundation.h>
#import "Context.h"