• 设计模式六大原则


    1.

    2.

    八大设计原则:

    1.依赖倒置原则:

    1)高层模块(稳定)不应该依赖于低层模块(变化),二者应该都依赖于抽象(稳定);

    2)抽象(稳定)不应该依赖于实现细节(变化),实现细节(变化)应该依赖于抽象(稳定)。

    2.开闭原则:

    1)对扩展开放,对修改关闭。

    2)类模块应该是可扩展的,但是不可修改。

    3.单一职责原则:

    1)一个类应该仅有一个引起它变化的原因。

    2)变化的方向隐含着类的责任。

     4.里氏替换原则:

    1)子类必须能够替换基类(IS - A)。

    2)   继承表达类型抽象。

    5.接口隔离原则:
    1)不要强迫客户依赖它们不需要的方法。

    2)接口应该小而完备。

    实现思想就是 不要把所有 的方法都public出去,有些方法写成私有。因为你一旦都public出去,就有可能导致客户对它产生依赖。当你改这个方法的时候就会对依赖它的客户产生影响。

    6.优先使用对象组合而不是类继承:

    1)类继承是“白箱操作” ,使用对象组合是“黑箱操作”

    2)继承在某种程度上破坏了封装性,子类父类耦合度高。

    3)对象组合只要求被组合对象有良好定义的接口,耦合度低。

    7.封装变化点:

    1)封装一般认为是封装数据和代码,但是封装还有更高层面上的应用就是封装变化点,一侧变化,一侧不会受到影响。

    8.针对接口编程,而不是针对实现编程。

    1)不将变量类型声明为某个具体类型,而是声明为某个接口(这并不绝对,比如String,Vector,int这些不可避免的要用,但是比如说我要用到各种形状,那么我用Shape编程,而不是用具体的Circle或者Rect编程,这个原则其实跟依赖倒置原则比较相辅相成。)。

    2)客户不需要知道对象的类型,只需要知道对象所具有的接口。

    3)减少系统中各部分的依赖关系,从而实现高内聚,松耦合。

    产业强盛的标识:接口标准化。

  • 相关阅读:
    关于global和$GLOBALS[]的一些实践
    java环境配置的新手教程
    echart图表 resize()方法使用
    使用git上传下载项目
    windows 系统新建 vue 项目的坑
    Java版求1000以内的完全数
    Java版经典兔子繁殖迭代问题——斐波那契(Fibonacci)数列
    Java版冒泡排序和选择排序
    AngularJS 动画总结
    Mac下sublime text 的“package control”安装
  • 原文地址:https://www.cnblogs.com/aliceQin/p/9941996.html
Copyright © 2020-2023  润新知