设计模式实践-外观模式
场景
解析协议接口,集中验证数据、解析数据头,解析数据体
实现代码
解析数据外观对象
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
验证数据
验证数据头
解析数据
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号