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();
            }
        }

  • 相关阅读:
    python中的编码问题
    CVPR2018 Tutorial 之 Visual Recognition and Beyond
    hdu 1376 Octal Fractions
    hdu 1329 Hanoi Tower Troubles Again!
    hdu 1309 Loansome Car Buyer
    hdu 1333 Smith Numbers
    hdu 1288 Hat's Tea
    hdu 1284 钱币兑换问题
    hdu 1275 两车追及或相遇问题
    hdu 1270 小希的数表
  • 原文地址:https://www.cnblogs.com/aqbyygyyga/p/1651102.html
Copyright © 2011-2022 走看看