国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用最簡單的例子理解復合模式(Composite Pattern)

2019-11-17 02:54:34
字體:
來源:轉載
供稿:網友

用最簡單的例子理解復合模式(Composite Pattern)

在顯示樹形結構時,復合模式有很好的體現。本篇顯示如下部門結構:

1

以上,有的節點包含子節點,有的節點部包含子節點。不管是什么節點,每個節點就代表一個部門。

首先設計一個關于部門的抽象基類。

    public abstract class DepartmentComponent
    {
        public string Name { PRivate set; get; }
        public DepartmentComponent(string name)
        {
            this.Name = name;
        }
        public virtual void PrintSupervisorOf(int spacing)
        {
            for (int counter = 0; counter < spacing; counter++)
            {
                Console.Write(" ");
            }
            Console.WriteLine(Name);
        }
    }

以上,通過構造函數給屬性賦值,通過PrintSupervisorOf(int spacing)方法打印出節點的名稱。

接下來設計包含子節點的節點。該類維護著DepartmentComponent類型的集合,提供方法向這個集合中添加節點或從集合中刪除節點。

    public class DepartmentComposite : DepartmentComponent
    {
        private IList<DepartmentComponent> employees;
        public DepartmentComposite(string name) : base(name)
        {
            employees = new List<DepartmentComponent>();
        }
        public void AddDepartment(DepartmentComponent e)
        {
            employees.Add(e);
        }
        public void RemoveDepartment(DepartmentComponent e)
        {
            employees.Remove(e);
        }
        public override void PrintSupervisorOf(int spacing)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江永县| 阿尔山市| 金门县| 嘉义市| 铁岭县| 花莲县| 拉孜县| 平顶山市| 衡水市| 公安县| 三明市| 宿迁市| 大英县| 揭东县| 随州市| 都昌县| 图木舒克市| 涡阳县| 台安县| 云南省| 修水县| 永兴县| 凉山| 南漳县| 宁蒗| 海伦市| 利川市| 清涧县| 新昌县| 启东市| 淅川县| 蒙山县| 井研县| 莱州市| 镇安县| 新邵县| 额敏县| 安庆市| 澄迈县| 黔南| 新乐市|