乐在其中设计模式(C#) - 外观模式(Facade Pattern)

时间:2022-10-10 14:34:39

原文:乐在其中设计模式(C#) - 外观模式(Facade Pattern)

[索引页][源码下载]

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

作者:webabcd





介绍

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





示例

有一个Message实体类,某对象对它的操作有Get()方法,另外还有一个对象有一个Validate()方法来判断用户是否有权限。现在提供一个高层接口来封装这两个方法。

乐在其中设计模式(C#) - 外观模式(Facade Pattern)





MessageModel

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Text;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)namespace Pattern.Facade

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /// Message实体类

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    public class MessageModel

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)    乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// 构造函数

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// <param name="msg">Message内容</param>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// <param name="pt">Message发布时间</param>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        public MessageModel(string msg, DateTime pt)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            this._message = msg;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            this._publishTime = pt;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        private string _message;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// Message内容

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        public string Message

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)            get 乐在其中设计模式(C#) - 外观模式(Facade Pattern){ return _message; }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)            set 乐在其中设计模式(C#) - 外观模式(Facade Pattern){ _message = value; }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        private DateTime _publishTime;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// Message发布时间

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        public DateTime PublishTime

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)            get 乐在其中设计模式(C#) - 外观模式(Facade Pattern){ return _publishTime; }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)            set 乐在其中设计模式(C#) - 外观模式(Facade Pattern){ _publishTime = value; }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)}

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

User

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Text;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)namespace Pattern.Facade

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /// 用户相关类

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    public class User

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)    乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// 验证用户是否合法

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// <param name="userId">UserId</param>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        public bool Validate(string userId)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            if (userId == "admin")

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)            乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)                return true;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            else

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)            乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)                return false;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)}

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

SqlMessage

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Text;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)namespace Pattern.Facade

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /// Sql方式操作Message

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    public class SqlMessage

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)    乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// 获取Message

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        public List<MessageModel> Get()

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            List<MessageModel> l = new List<MessageModel>();

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            l.Add(new MessageModel("SQL方式获取Message", DateTime.Now));

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            return l;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)}

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

Message

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Text;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)namespace Pattern.Facade

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /// Facade类

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    public class Message

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)    乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        private string _userId = "";

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// 构造函数

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// <param name="userId">UserId</param>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        public Message(string userId)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            this._userId = userId;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// 获取Message

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// 首先使用User类的Validate()方法验证用户是否合法

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// 然后使用SqlMessage类的Get()方法获取Message

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// </summary>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        public List<MessageModel> Get()

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)        乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            User u = new User();

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            SqlMessage m = new SqlMessage();

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            if (u.Validate(_userId))

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)            乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)                return m.Get();

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            else

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)            乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)                List<MessageModel> l = new List<MessageModel>();

乐在其中设计模式(C#) - 外观模式(Facade Pattern)                l.Add(new MessageModel("无权获取", DateTime.Now));

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)                return l;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)            }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)}

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

client

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Data;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Configuration;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Collections;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Web;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Web.Security;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Web.UI;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Web.UI.WebControls;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Web.UI.WebControls.WebParts;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using System.Web.UI.HtmlControls;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)using Pattern.Facade;

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)public partial class Facade : System.Web.UI.Page

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    protected void Page_Load(object sender, EventArgs e)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)乐在其中设计模式(C#) - 外观模式(Facade Pattern)    乐在其中设计模式(C#) - 外观模式(Facade Pattern){

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        Message m = new Message("user");

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        Response.Write(m.Get()[].PublishTime.ToString());

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        m = new Message("admin");

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        Response.Write(m.Get()[].PublishTime.ToString());

乐在其中设计模式(C#) - 外观模式(Facade Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 外观模式(Facade Pattern)    }

乐在其中设计模式(C#) - 外观模式(Facade Pattern)}

乐在其中设计模式(C#) - 外观模式(Facade Pattern)

运行结果

无权获取 2007-3-20 22:16:50

SQL方式获取Message 2007-3-20 22:16:50





参考

http://www.dofactory.com/Patterns/PatternFacade.aspx





OK

[源码下载]