设计模式学习--外观

--来自《设计模式:可复用面向对象软件的基础》

目的
为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。






Class Scanner
{
Public:
Scanner(istream&);
Virtual ~Scanner();

Virtual Token& Scan();
Private:
Istream& _inputStream;
};


Class Parser
{
Public:
Parser();
Virtual ~Parser();

Virtual void Parse(Scanner&, ProgramNodeBuilder&);
};


//外观
Class Compiler
{
Public:
Compiler();
Virtual void Compile(istream&, BytecodeStream&);
};


//可以传入特定对象
Void Compiler::Compile(istream& input, BytecodeStream& output)
{
Scanner scanner(input);
ProgramNodeBuilder builder;
Parser parser;

Parser.Parse(scanner, builder);

RISCCodeGenerator generator(output);
ProgramNode* parseTree = builder.GetRootNode();
parseTree->Traverse(generator);
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值