zoukankan      html  css  js  c++  java
  • 设计模式-6大原则

    好处:
    改善系统设计,提高系统健壮性,可扩展性;
    注意:
    起初对系统设计时,将确定的点去掉,不确定的点不要假设存在

    **********六大原则***********
    一,单一职责
    每个类只负责单一的功能,并且应该将一个功能做到极致
    例如:计算器类中只负责计算不应该有读取数据的方法,读取数据应该单独处理

    二,里氏替换
    一个子类应该替掉父类并且能正常工作(子类一般不该重写父类方法)
    例如:
    类A,父类B,子类C
    类A使用了父类B的方法,然后子类C覆盖了父类C的方法抛出不支持该操作的异常;

    三,接口隔最小化
    一个接口拥有的行为应该尽可能的小
    如果不能最小化,会发生实现了该接口后,很多方法是空的
    例如:
    一个手机接口,有打电话,发短信,玩游戏三个方法;
    玩游戏不是手机接口必须的方法,可以考虑将其进行扩展操作;
    public interface Mobile{
    call(); //打电话
    sendMessage(); //发短信
    // playGame(); //玩游戏 //不是手机接口必须接口考虑扩展
    }

    扩展后:
    public interface SmartPhone extends Mobile{
    playGame(); //玩游戏
    }

    四,依赖倒置
    高层模块不应该依赖底层模块,二者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象


    五,迪米特
    一个类尽量不要知道其他类太多东西,不要和陌生的类有太多接触
    一个类应该尽量降低其他类的耦合度,其他类只需知道这个类对外提供的功能即可


    六,开闭原则
    对修改关闭,对扩展开放
    任何改变都不需要修改原有的代码,而只需要加入一些新的实现,即可完成新的需求

    **用抽象构建框架,用细节实现扩展**

  • 相关阅读:
    【转载】Gradle学习 第八章:依赖管理基础
    【转载】Gradle学习 第七章:Java快速入门
    【转载】Gradle学习 第六章:构建脚本基础
    【转载】Gradle学习 第四章:安装Gradle
    【转载】Gradle学习 第三章:教程
    【转载】Gradle学习 第二章:概述
    【转载】Gradle学习 第一章:引言
    android studio学习----偏好设置
    android studio学习----创建模拟器
    前端生成二维码
  • 原文地址:https://www.cnblogs.com/wanhua-wu/p/6385559.html
Copyright © 2011-2022 走看看