备忘录模式

备忘录模式:主要作用是针对需要记录和保存历史的类

1.一个需要保存记录的类,

2.一个保存记录的容器。容器类保存需要记录类的属性

3.一个容器的管理者。容器的管理者中有容器类。

这个需要保存记录的类里面有保存和回复类,调用容器的管理者。


组合模式:组合模式主要用于大小不同但是功能一样,但是不可以聚合的类中,例如美国和英国的政府部门职责有基本一样,但是美国和英国又是2个不同的国家,所以 可以用组合模式。

1.一个是基类,所有组合对象的共有属性

2.一个是具体的个体类,继承基类

3.一个是存贮组合类的类,继承基类,他有一个存贮对象的容器。


一下代码来自《大话设计模式一书》

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ConsoleApplication2
{
    abstract class Componet
    {
        public abstract void Dispaly(int depth);
        public abstract void add(Componet s);
    }


    class L : Componet
    {
        public override void Dispaly(int depth)
        {
            String s = new String('-', depth);
            Console.WriteLine(s);
        }


         public override void add(Componet s)
        {
           
        }
    }


    class Composite : Componet
    {
        private List<Componet>A=new List<Componet>();
        public override void add(Componet s)
        {
            A.Add(s);
        }
        public override void Dispaly(int depth)
        {
            String s = new String('-', depth);
            Console.WriteLine(s);


            foreach(Componet c in A)
            {
                c.Dispaly(depth+2);
            }
        }


    }




    class Program
    {
        static void Main(string[] args)
        {
            Composite root=new Composite();
            root.add(new L());
            root.add(new L());


            Composite K = new Composite();
            K.add(new L());
            K.add(new L());


            root.add(K);
            root.Dispaly(1);
            Console.Read();


            
        }
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值