zoukankan      html  css  js  c++  java
  • 放假第三天

    昨天懒了,今天补上

    读书笔记 大话设计模式3~6章

    单一职责原则 就一个类而言,应该仅有一个引起它变化的原因 ,


    开放关闭原则 开放关闭原则是面向对象设计的核心所在.遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护,可扩展,可复用,灵活性好.开发人员应该仅对程序中呈现出频繁变化的那些部分做出抽象,然而,对于应用程序中的每个部分都可以的进行抽象同样不是一个好主意,拒绝不成熟的抽象和抽象本身一样重要.

    通过抽象隔离可能出现错误的代码,方便以后修正

    依赖原则  A高层模块不应该以来底层模块,两个动应该依赖抽象 B 抽象不应该依赖细节,细节应该以来抽象.

    里氏代换原则 一个软件实体如果使用的是一个父类的话,那么一定使用于其子类,而且它察觉不出父类对象和子类对象的区别,也就是说,在软件里面,把父类都替换成它的子类,程序行为没有变化.     子类型必须能够替换掉它们的父类型 

    只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为

    装饰模式

     动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活

    通过一个类将对象包装,每个装饰对象只关心自己的功能,不需要关心如何被添加到对象链中,

    Person xc = new Person("小菜");
                Console.WriteLine("\n第一种装扮:");
                Sneakers pqx = new Sneakers(); 

       pqx.Decorate(xc);//此时 基类中方法 是 显示小菜的装扮
                pqx.Show();
    //通过方法 将基类绑定到类中,然后根据需要执行基类中方法

     class Person
        {
            public Person()
            { }

            private string name;
            public Person(string name)
            {
                this.name = name;
            }

            public virtual void Show()
            {
                Console.WriteLine("装扮的{0}", name);
            }
        } 

       class Finery : Person
        {
            protected Person component;
            public void Decorate(Person component)
            {
                this.component = component;
            }
            public override void Show()
            {
                if (component != null)
                {
                    component.Show();//base.show()
                }
            }
        }
      class Sneakers : Finery
        {
            public override void Show()
            {
                Console.Write("破球鞋 ");
                base.Show();
            }
        }

  • 相关阅读:
    NOI2015 品酒大会
    BJOI2017 喷式水战改
    代码注释
    mysql zip 安装 和 修改密码
    Jrebel 永久免费激活步骤
    layui 在springboot2.x 时,页面展示不了layui的问题
    最小生成树
    loj 10117 简单题(cqoi 2006)
    vijos 1512 SuperBrother打鼹鼠
    vijos 清点人数
  • 原文地址:https://www.cnblogs.com/aqbyygyyga/p/1651102.html
Copyright © 2011-2022 走看看