• Java 中的设计模式


    1.设计模式概念

    1.1 什么地方可以用到设计模式

    1. 面向对象(OO)=>功能模块[设计模式+算法(数据结构)]=>框架[使用多种设计模式]=>架构[服务器集群]
    2. 复制代码

     

    1.2 使用设计模式的好处

    • 使用设计模式,软件具有很好的可扩展性(可以增加新的功能)

    • 使用开发模式,具有很好的维护性(可读性、规范性)

    1.3 设计模式的目的

    • 设计模式是为了让程序,具有更好的代码重复性、可读性(编程规范性)、可扩展性(可维护性)、可靠性、是程序呈现高内聚,低耦合的特征。(模块内部逻辑关系非常紧密,模块与模块之间的关系非常的松散)

    • 分享金句:"懂了设计模式,你就懂了面向对象分析和面向对象设计(OOA/OOD)的精要"。

    • C++老手与 C++新手的区别就是,前者手背上有很多的伤疤。

    2.设计模式的七大原则

    • 设计模式原则,其实就是程序员在编译时,应当遵守的原则,也就是各种设计模式的基础(即:设计模式为什么这样设计的依据)

    设计模式常用的七大原则:

    2.1 单一职责原则

    • 对于类来说,即一个类应该只负责一项职责。如果 A 类负责两个不同的职责:职责 1、职责 2。当职责 1 发生变化而改变 A 时,可能会对职责 2 造成影响使职责 2 运行错误,所以需要将类 A 的粒度分解为 A1、A2。

    • 如果再类中没有满足单一职责原则,在一个类的方法中遵守单一职责原则也是可以的(交通工具)

    • 标准的单一职责原则,是在类的级别上进行拆分,而不是方法级别。

    • 通常情况下,我们要遵守单一职责原则,只有当逻辑足够简单,才可以在代码级别违反单一职责原则;只有类中的方法数量足够少,可以在方法级别保持单一职责原则。

    • 优秀的代码中使用类来区分多个分支,而不使用 if...else if()....else(耦合度高)

    2.2 接口隔离原则

    • 客户端不应该依赖它不需要接口,即一个类对另一个类的依赖应该建立在最小的接口上。

    • 处理方式:将接口 Interface 拆分为独立的几个接口,类 A 与类 C 分别于他们需要的接口建立依赖关系。这就是使用的接口隔离原则。

    没有使用接口隔离原则时的实现类图:(此时 A、C 要实现接口里的所有方法)

    使用接口隔离原则时的实现类图:(此时将接口进行了拆分,A 此时只需要实现它要使用的方法对应的接口即可,而不用将接口中的方法全部实现)

    2.3 依赖倒转(倒置)原则

    • 在 Java 中,抽象是指接口或者抽象类,细节是指具体的实现类。

    • 高层模块不应该依赖低层模块,二者都应该依赖其抽象(接口、抽象类)。

    • 抽象类不应该依赖细节,细节应该依赖抽象类。

    • 依赖倒倒转(倒置)的中心思想是面向接口编程。

    依赖倒转原则是基于这样的设计理念:

    • 相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比细节为基础的架构要稳定的多。

    • 使用接口或者抽象类的目的是制定好规范,

  • 相关阅读:
    np.ravel()和np.flatten()
    Hbuilderx:Vue项目打包apk打开首页空白问题
    [go 面试] 一致性哈希:数据分片与负载均衡的黄金法则
    【数据结构】栈的实现
    AI、AIGC、AGI、ChatGPT它们的区别?
    【数据结构-队列】队列介绍
    使用qt 6.4 开发备忘录
    SUSE 配置防火墙策略
    ubuntu18.04环境下部署ROS2 docker镜像全步骤
    吴恩达学习笔记(五)——优化算法
  • 原文地址:https://blog.csdn.net/zhaohuodian/article/details/126403850