真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Composite模式(組合模式)-創(chuàng)新互聯(lián)

模式簡(jiǎn)介

組合模式多用于樹形菜單,文件、文件夾之類的管理,把一組類似的對(duì)象看作一個(gè)對(duì)象,例如文件夾可以包含文件夾和文件,但是把文件夾看作一個(gè)對(duì)象。

為蒙城等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及蒙城網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、蒙城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!模式UML圖

代碼示例(C#)
//葉子節(jié)點(diǎn),繼承Node類
    class LeafNode : Node
    {
        public LeafNode(string p_name) : base(p_name) { }
    }

    //分支節(jié)點(diǎn),繼承Node類
    class BranchNode : Node
    {
        public ListchildNodes = new List();

        public BranchNode(string p_name) : base(p_name) { }

        public void Add(Node p_node)
        {
            childNodes.Add(p_node);
        }
        public void Remove(Node p_node)
        {
            childNodes.Remove(p_node);
        }
    }

    //節(jié)點(diǎn)抽象類,所有節(jié)點(diǎn)繼承該類
    public abstract class Node
    {
        public string name;
        public string content;

        public Node(string p_name)
        {
            name = p_name;
        }
    }

    //測(cè)試代碼
    public void Test()
    {
        BranchNode root = new BranchNode("Root");
        BranchNode node1 = new BranchNode("Node1");
        BranchNode node2 = new BranchNode("Node2");
        BranchNode node3 = new BranchNode("Node3");
        LeafNode node4 = new LeafNode("Node4");
        LeafNode node5 = new LeafNode("Node5");
        LeafNode node6 = new LeafNode("Node6");
        root.Add(node1);
        root.Add(node2);
        node1.Add(node4);
        node2.Add(node3);
        node3.Add(node5);
        node3.Add(node6);

        Draw(root, 1);
    }

    private void Draw(Node p_node, int p_depth)
    {
        string v_str = "";
        for (int i = 0; i< p_depth; i++) v_str += "|";
        Console.WriteLine(v_str + p_node.name);
        if (p_node is BranchNode)
        {
            foreach (Node n in ((BranchNode)p_node).childNodes)
            {
                Draw(n, p_depth + 1);
            }
        }
    }
代碼解說(shuō)

我們這里體現(xiàn)在BranchNode類中的childNodes屬性,組合模式在于把擁有子節(jié)點(diǎn)的BranchNode和沒(méi)有子節(jié)點(diǎn)的LeafNode都看作一個(gè)單獨(dú)的對(duì)象,都是Node。LeafNode就類似于文件,而BranchNode就類似于文件夾,文件中不能再包含文件或文件夾,但是文件夾下可以包含文件夾和文件。

如果這篇文章對(duì)你有幫助,請(qǐng)給作者點(diǎn)個(gè)贊吧!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


本文標(biāo)題:Composite模式(組合模式)-創(chuàng)新互聯(lián)
分享鏈接:http://weahome.cn/article/pjohi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部