跳至主要內容
顶尖架构师栈
博客
Java专栏
面试指南
Java
基础
集合
并发
Tomcat
全栈汇总1
全栈汇总2
框架
Spring面试题
SpringMVC面试题
Mybatis面试题
SpringBoot面试题
SpringCloud详解
SpringCloud面试题
ZooKeeper面试题
Netty详解
消息队列
消息队列面试题
RabbitMQ面试题
Kafka面试题
关系型数据库
MySQL基础
MySQL面试题
MySQL执行计划详解
非关系型数据库
Redis基础
Redis面试题
MongoDB面试题
ElasticSearch面试题
open in new window
计算机基础
网络
TCP专题
操作系统
算法
LeetCode题解
数据结构
进阶之路
海量数据
统计不同号码的个数
出现频率最高的100个词
查找两个大文件共同的URL
如何在100亿数据中找到中位数?
如何查询最热门的查询串?
如何找出排名前 500 的数?
如何按照 query 的频度排序?
大数据中 TopK 问题的常用套路
大数据面试专区 更多>>>
系统设计
扫码登录设计
超时订单自动取消
短链系统设计
微信红包系统如何设计?
单点登录设计与实现
如何用 Redis 统计用户访问量?
实时订阅推送设计与实现
如何设计一个抢红包系统
购物车系统怎么设计?
如何设计一个注册中心?
如何设计一个高并发系统?
10w级别数据Excel导入怎么优化?
微服务面试专区 更多>>>
分布式
全局唯一ID
分布式锁
RPC
微服务
分布式架构
分布式事务
分布式面试专区 更多>>>
高并发
限流
负载均衡
高并发面试专区 更多>>>
高可用面试专区 更多>>>
高并发面试专区 更多>>>
设计模式
设计模式详解
优质文章
优质文章汇总
ChatGPT专栏
open in new window
学习资源
PDF下载
视频下载
开发工具
破解大全
Jetbrains全家桶激活
Idea最佳实践
免责申明
设计模式的六大原则
arcstack
设计模式
设计模式
约 257 字
小于 1 分钟
#
设计模式的六大原则
开闭原则:对扩展开放,对修改关闭,多使用抽象类和接口。
里氏替换原则:基类可以被子类替换,使用抽象类继承,不使用具体类继承。
依赖倒转原则:要依赖于抽象,不要依赖于具体,针对接口编程,不针对实现编程。
接口隔离原则:使用多个隔离的接口,比使用单个接口好,建立最小的接口。
迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用,通过中间类建立联系。
合成复用原则:尽量使用合成/聚合,而不是使用继承。