设计模式实践-外观模式

场景

解析协议接口,集中验证数据、解析数据头,解析数据体

实现代码

解析数据外观对象

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

验证数据
验证数据头
解析数据
posted @ 2016-07-21 20:30  4Thing  阅读(140)  评论(0编辑  收藏  举报