乐在其中设计模式(C#) - 组合模式(Composite Pattern)

时间:2023-03-09 01:10:15
乐在其中设计模式(C#) - 组合模式(Composite Pattern)

原文:乐在其中设计模式(C#) - 组合模式(Composite Pattern)

[索引页][源码下载]

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

作者:webabcd





介绍

将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。





示例

有一个Message实体类,使其单个对象和复合对象具有一致性。

乐在其中设计模式(C#) - 组合模式(Composite Pattern)





MessageModel

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Text;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)namespace Pattern.Composite

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /// Message实体类

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    public class MessageModel

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)    乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 构造函数

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

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

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

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public MessageModel(string msg, DateTime pt)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            this._message = msg;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            this._publishTime = pt;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        private string _message;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// Message内容

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public string Message

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)            get 乐在其中设计模式(C#) - 组合模式(Composite Pattern){ return _message; }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)            set 乐在其中设计模式(C#) - 组合模式(Composite Pattern){ _message = value; }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        private DateTime _publishTime;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// Message发布时间

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public DateTime PublishTime

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)            get 乐在其中设计模式(C#) - 组合模式(Composite Pattern){ return _publishTime; }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)            set 乐在其中设计模式(C#) - 组合模式(Composite Pattern){ _publishTime = value; }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)}

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

MessageModelComponent

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Text;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)namespace Pattern.Composite

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /// 抽象Message实体构件(Component)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    public abstract class MessageModelComponent

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)    乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// Message实体对象

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        protected MessageModel _messageModel;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 名称

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        protected string _name;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 构造函数

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="name">名称</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public MessageModelComponent(string name, MessageModel mm)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            this._name = name;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            this._messageModel = mm;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 构造函数

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="name">名称</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public MessageModelComponent(string name)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            this._name = name;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 添加

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="mmc">MessageModelComponent</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public abstract void Add(MessageModelComponent mmc);

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 删除

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="mmc">MessageModelComponent</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public abstract void Remove(MessageModelComponent mmc);

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 获取

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="indent">缩进数</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public abstract string GetData(int indent);

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)}

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

MessageModelLeaf

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Text;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)namespace Pattern.Composite

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /// Message实体树叶(Leaf)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    public class MessageModelLeaf : MessageModelComponent

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)    乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 构造函数

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="name">名称</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public MessageModelLeaf(string name, MessageModel mm)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            : base(name, mm)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 添加

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="mmc">MessageModelComponent</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public override void Add(MessageModelComponent mmc)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            throw new Exception("不能添加");

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 删除

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="mmc">MessageModelComponent</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public override void Remove(MessageModelComponent mmc)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            throw new Exception("不能删除");

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 获取

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="indent">缩进数</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public override string GetData(int indent)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            return new String('—', indent) + 

乐在其中设计模式(C#) - 组合模式(Composite Pattern)                "树叶名称:" + _name + 

乐在其中设计模式(C#) - 组合模式(Composite Pattern)                ";信息内容:" + _messageModel.Message + 

乐在其中设计模式(C#) - 组合模式(Composite Pattern)                "<br />";

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)}

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

MessageModelComposite

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Text;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)namespace Pattern.Composite

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /// Message实体树枝(Composite)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    public class MessageModelComposite : MessageModelComponent

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)    乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        private List<MessageModelComponent> _list;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 构造函数

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="name">名称</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public MessageModelComposite(string name)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            : base(name)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            _list = new List<MessageModelComponent>();

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 添加

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="mmc">MessageModelComponent</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public override void Add(MessageModelComponent mmc)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            _list.Add(mmc);

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 删除

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="mmc">MessageModelComponent</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public override void Remove(MessageModelComponent mmc)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            _list.Remove(mmc);

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// 获取

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// </summary>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <param name="indent">缩进数</param>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        public override string GetData(int indent)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)        乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            string s = new String('—', indent) + 

乐在其中设计模式(C#) - 组合模式(Composite Pattern)                "树枝名称:" + _name + 

乐在其中设计模式(C#) - 组合模式(Composite Pattern)                "<br />";

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            foreach (MessageModelComponent mmc in _list)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)            乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)                s );

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)            return s;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)}

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

Test

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Data;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Configuration;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Collections;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Web;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Web.Security;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Web.UI;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Web.UI.WebControls;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Web.UI.WebControls.WebParts;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using System.Web.UI.HtmlControls;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)using Pattern.Composite;

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)public partial class Composite : System.Web.UI.Page

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    protected void Page_Load(object sender, EventArgs e)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)乐在其中设计模式(C#) - 组合模式(Composite Pattern)    乐在其中设计模式(C#) - 组合模式(Composite Pattern){

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        MessageModelComposite root = new MessageModelComposite("树枝A");

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        root.Add(new MessageModelLeaf("树叶A", new MessageModel("Message内容A", DateTime.Now)));

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        root.Add(new MessageModelLeaf("树叶B", new MessageModel("Message内容B", DateTime.Now)));

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        MessageModelComposite comp = new MessageModelComposite("树枝B");

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        comp.Add(new MessageModelLeaf("树叶C", new MessageModel("Message内容C", DateTime.Now)));

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        comp.Add(new MessageModelLeaf("树叶D", new MessageModel("Message内容D", DateTime.Now)));

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        root.Add(comp);

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        root.Add(new MessageModelLeaf("树叶E", new MessageModel("Message内容E", DateTime.Now)));

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        MessageModelLeaf l = new MessageModelLeaf("树叶F", new MessageModel("Message内容F", DateTime.Now));

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        root.Add(l);

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        root.Remove(l);

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

乐在其中设计模式(C#) - 组合模式(Composite Pattern)        Response.Write(root.GetData());

乐在其中设计模式(C#) - 组合模式(Composite Pattern)    }

乐在其中设计模式(C#) - 组合模式(Composite Pattern)}

乐在其中设计模式(C#) - 组合模式(Composite Pattern)

运行结果

—树枝名称:树枝A

———树叶名称:树叶A;信息内容:Message内容A

———树叶名称:树叶B;信息内容:Message内容B

———树枝名称:树枝B

—————树叶名称:树叶C;信息内容:Message内容C

—————树叶名称:树叶D;信息内容:Message内容D

———树叶名称:树叶E;信息内容:Message内容E





参考

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





OK

[源码下载]