zoukankan      html  css  js  c++  java
  • 设计模式

    ## 设计模式

    ###### 面向对象的设计原则
    - 对接口编程,不要对实现编程
    - 使用对象之间的组合,减少对继承的使用
    - 抽象用于不同的事物,而接口用于事物的行为

    ###### 设计模式的设计原则
    - 开闭原则:对扩展开放,对修改封闭
      + mean: 实例的内部不可修改,但可以增加新功能
    - 依赖倒转:对接口编程,依赖于抽象而不依赖于具体
      + mean: 就是把公共的拿出来,定义成抽象类、接口、抽象方法,然后大家再去实现这个抽
      象,实现的方法各有不同,各个实体相互独立没有依赖,各个实体离开谁都能活
    - 接口隔离:使用多个接口,而不是对一个接口编程,去依赖降低耦合
      + mean: 就是抽象再抽象
    - 最少知道:减少内部依赖,尽可能的独立
      + mean: 实现依赖注入容器,把依赖的实体注入到一个实例(所谓容器)
    - 合成复用:多个独立的实体合成聚合,而不是使用继承
      + mean:尽可能不用继承,使用以上三种方式构成代码结构
    - 里氏代换:超类(父类)出现的地方,派生类(子类)都可以出现
      + mean:能用父类实现的子类也能实现

    ###### 简单设计原则
    - 通过所有测试:及需求为上
    - 尽可能的消除重复:高内聚低耦合
    - 尽可能的清晰表达:可读性
    - 更少代码元素:常量,变量,函数,类,包 …… 都属于代码元素,降低复杂性
    - 以上四个原则的重要程度依次降低

    >  核心:高内聚松耦合(单一职责),外部依赖,实体对抽象编程,抽象就是分层

  • 相关阅读:
    10_14 drf接口框架。
    10_11 vue路由跳转
    10_10,vue项目环境搭建
    10_9vue循环指令与组件
    10_8 vue的导入
    9_25中间键与登录认证
    块级元素居中问题
    2019牛客多校第五场 F maximum clique 1 状压dp+最大独立集
    2019牛客多校第五场C generator 2 hash,bsgs模板
    2019牛客多校第五场B generator 十进制快速幂
  • 原文地址:https://www.cnblogs.com/lxwphp/p/7729926.html
Copyright © 2011-2022 走看看