OO设计原则

news/2025/2/28 19:11:27/

OO设计原则:SOLID

SOLID

  1. SRP(The Single Responsibility Principle,单一责任原则)

    • 不应有多于1个的原因使得一个类发生变化
    • 一个类,一个责任
  2. OCP(The Open-Closes Principle,开放-封闭原则)

    • 对修改封闭,对扩展开放
  3. LSP(The Liskov Substitution Principle,Liskov替换原则)

    • 子类型必须能够替换其父类型
  4. DIP(The Dependency Inversion Principle,依赖转置原则)

    • 抽象的模块不应依赖于具体的模块
    • 换言,delegation时,应通过interface建立联系,而非具体子类
  5. ISP(The Interface Segregation Principle,接口聚合原则)

    • 不能强迫客户端依赖于它们不需要的接口,只提供必须的接口
    • 也就是不要在一个接口中写太多方法,避免这种胖接口,分解成多个小接口

http://www.ppmy.cn/news/86302.html

相关文章

【Mysql】什么是大事务?以及大事务产生的问题

文章目录 一、定义二、大事务风险三、避免大事务四、案例创建表首先插入一条记录接着反复执行如下SQL,插入大量数据记录再次执行插入时,耗时会是几十秒,甚至几分钟:执行过程耗时较长时,模拟的也就是大事务。查看大事务 五、大表带…

Hausdorff 距离

1. 定义 给定欧氏空间中的两点集 A { a 1 , a 2 , . . . } \rm A\left \{a_1, a_2,... \right\} A{a1​,a2​,...} 和 B { b 1 , b 2 , . . . } \rm B\left \{b_1, b_2,... \right\} B{b1​,b2​,...} , H a u s d o r f f {\rm Hausdorff} Hausdorff 距离就是用…

《Java并发编程实战》课程笔记(二)

可见性、原子性和有序性问题:并发编程 Bug 的源头 源头之一:缓存导致的可见性问题 在单核时代,所有的线程都是在一颗 CPU 上执行,CPU 缓存与内存的数据一致性容易解决。 因为所有线程都是操作同一个 CPU 的缓存,一个…

Zebec生态进展迅速,频被BitFlow、Matryx DAO等蹭热度碰瓷

进入到 2023 年以来, Zebec 生态的整体发展突飞猛进,除了流支付协议 Zebec Protocol 不断通过收购来扩大自身流支付业务、与万事达等合作推出 Zebec Card 等在支付业务上,实现进展外,其社区驱动的Layer3 模块化链 Nautilus Chain …

css基础技巧

1. emmet语法 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>…

koa2获取HTTP请求参数

HTTP 什么是HTTP HTTP&#xff0c;即超文本传输协议&#xff0c;是一种实现客户端和服务器之间通信的响应协议&#xff0c;它是用作客户端和服务器之间的请求。 客户端&#xff08;浏览器&#xff09;会向服务器提交HTTP请求&#xff1b;然后服务器向客户端返回响应&#xf…

ENSP安装教程【手把手教学】

安装ENSP 简介ENSP概述设备支持 首先需要的环境安装顺序 安装后的测试 简介 ENSP概述 eNSP(Enterprise Network Simulation Platform)是一款由华为提供的免费的、可扩展的、图形化的网络设备仿真平台&#xff0c;主要对企业网路由器、交换机、WLAN等设备进行软件仿真&#xf…

大数据开发之 Impala介绍

Impala 介绍 Impala 主要特点Impala与 Hive的异同之处 Impala 是 Cloudera 开源的一个高性能、分布式、SQL 查询引擎&#xff0c;用于Apache Hadoop 上进行交互式数据分析。Impala 可以实现实时的 SQL 查询操作&#xff0c;最初是为了解决 Hive-MapReduce 处理速度慢的问题&…