美文网首页
每日一学23——Unity C# 设计模式原则

每日一学23——Unity C# 设计模式原则

作者: ShawnWeasley | 来源:发表于2020-07-14 09:35 被阅读0次

    学习来源:https://blog.csdn.net/qq_34244317/article/details/77801379

    至于是六大还是七大,反正有用就行,先摘抄一下:

    七大面向对象设计原则
    开闭原则:面对需求,对程序的改动是通过增加新代码进行的,而不是改变原来的标题
    依赖倒转原则:高层模块不应该依赖底层模块,两个都应该依赖与抽象;抽象不应该依赖于细节,细节应该依赖于抽象。所以要针对接口编程,不要针对实现编程。
    里氏代换原则:由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象
    单一职责原则:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类,就一个类而言,应该仅有一个引起它变化的原因
    接口隔离原则:接口隔离原则是指使用多个专门的接口,而不使用单一的总接口。每一个接口应该承担一种相对独立的角色,不多不少,不干不该干的事,该干的事都要干
    合成复用原则:合成复用原则就是指在一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用一些已有的对象,使之成为新对象的一部分;新对象通过委派调用已有对象的方法达到复用其已有功能的目的。简言之:要尽量使用组合/聚合关系,少用继承
    迪米特法则:一个软件实体应当尽可能少的与其他实体发生相互作用。在类的结构设计上,每一个类都应当尽量降低其成员变量和成员函数的访问权限

    自己理解:
    1.针对新需求,通过新增代码解决,不修改原代码
    2.针对接口编程,就是说定义一个变量,应该定义一个接口而非一个类,可以参考这篇:https://www.cnblogs.com/hachun/p/3445389.html
    3.子类要实现父类的抽象方法,不能重写父类非抽象方法

    因为继承带来的侵入性,增加了耦合性,也降低了代码灵活性,父类修改代码,子类也会受到影响,此时就需要里氏替换原则:
    a.子类必须实现父类的抽象方法,但不得重写(覆盖)父类的非抽象(已实现)方法。
    b.子类中可以增加自己特有的方法。
    c.当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
    d.当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。
    参考:https://www.cnblogs.com/o-andy-o/p/10315188.html

    4.类的职责要单一,并且同类型的职责要写在一个类里
    5.接口按职责分开,不要堆在一起
    6.在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新对象通过向这些对象的委派达到复用已有功能的目的。少用继承
    7.少public,优先private

    相关文章

      网友评论

          本文标题:每日一学23——Unity C# 设计模式原则

          本文链接:https://www.haomeiwen.com/subject/ikqxhktx.html