设计模式实践-外观模式
场景
解析协议接口,集中验证数据、解析数据头,解析数据体
实现代码
解析数据外观对象
namespace DesignPatterns.Facade
{
/// <summary>
/// 解析数据外观对象
/// </summary>
public class ParserFacade
{
/// <summary>
/// 解析数据
/// </summary>
/// <param name="data">数据头</param>
public void Parser(string data)
{
var verify = new VerifyData();
var headerParser = new HeaderParser();
var bodyParser = new BodyParser();
verify.Do(data);
headerParser.Do(data);
bodyParser.Do(data);
}
}
}
验证数据对象
namespace DesignPatterns.Facade
{
/// <summary>
/// 验证数据对象
/// </summary>
internal class VerifyData
{
/// <summary>
/// 验证数据
/// </summary>
/// <param name="data">数据对象</param>
internal void Do(string data)
{
Console.WriteLine("验证数据");
}
}
}
解析数据头对象
namespace DesignPatterns.Facade
{
/// <summary>
/// 解析数据头对象
/// </summary>
internal class HeaderParser
{
/// <summary>
/// 解析数据头
/// </summary>
/// <param name="data">数据对象</param>
internal void Do(string data)
{
Console.WriteLine("验证数据头");
}
}
}
解析数据体对象
namespace DesignPatterns.Facade
{
/// <summary>
/// 解析数据体对象
/// </summary>
internal class BodyParser
{
/// <summary>
/// 解析数据对象
/// </summary>
/// <param name="data">数据对象</param>
internal void Do(string data)
{
Console.WriteLine("解析数据");
}
}
}
相关调用
var parser = new ParserFacade();
parser.Parser("test data");
Out
验证数据
验证数据头
解析数据