zoukankan      html  css  js  c++  java
  • java设计模式系列1-- 概述

    准备开始写些设计模式的随笔,这是第一篇,概述主要回顾下六大原则

    先用轻松和谐的语言描述下这6个原则

    单一职责

    • 每个类甚至每个方法都只要做自己分内的事,不要背别人的锅,也就是功能要分类,代码要解耦

    里氏替换

    • 简单点就是子类能够出现的地方,父类一定能出现,设计模式的继承和实现在这里体现的非常多

    依赖倒置

    • 高层模块不依赖低层模块的细节,而是依赖抽象(不依赖具体类而依赖于接口),这就是所谓的要面向接口编程

    接口隔离

    • 定义接口方法应该合理化,尽量追求简单最小,避免接口臃肿

    迪米特法则 | 最少知道

    • 你给我接口,我调用你,其他的不要废话。我们最好保持君子之交,你不要问我的过去,我也不想告诉你我怎么生活的

      稍微解释下:一个类应该对自己需要耦合或调用的类知道得最少,类的内部如何实现、如何复杂都与调用者或者依赖者没关系,

    调用者或者依赖者只需要知道他需要的方法即可,其他的一概不关心,例如常见的组合、聚合关系

    • 一个词:解耦或降耦

    开闭原则

    • 类、模块和函数应该对扩展开放,对修改关闭

    以下是我学习设计模式总结的两个关键点

    抽象类或接口:没有接口,没有父类不要谈设计模式

    复用类:用的最多的组合、继承、代理方式

    下一篇给出23种设计模式分类,坊间流传各种更多超过23种的,我们不关心,其实都是一些分得更细的

  • 相关阅读:
    Git CMD
    Guava Cache相关
    137.Single Number II---位运算---《剑指offer》40
    SpringMVC数据绑定
    StringUtils工具类的使用
    sql注入
    mapper配置文件中的动态SQL
    json相关注解和序列化与反序列化
    用户模块
    横向越权与纵向越权
  • 原文地址:https://www.cnblogs.com/yb38156/p/9769319.html
Copyright © 2011-2022 走看看