SOLID原则

简介:

S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。

 

单一责任原则:

    当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。 

开放封闭原则:

    软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象、最难理解的一个。

里氏替换原则:

    当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系 

依赖倒置原则:

    1. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象 

    2. 抽象不应该依赖于细节,细节应该依赖于抽象 

接口分离原则:

    不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/p/4908240.html,如需转载请自行联系原作者

相关文章
|
SQL 网络协议 程序员
计算机网络体系结构图解
计算机网络体系结构图解
805 0
|
存储 安全 Unix
/var/log/messages说明
【4月更文挑战第5天】`/var/log/messages`是类Unix系统(包括Linux)的日志文件,存储系统启动、关闭、内核消息、服务状态和服务错误等信息。内容可能因配置和日志系统(如syslog、rsyslog、journald)不同而变化。现代Linux可能使用`journalctl`等工具访问journald日志,提供更强大管理功能。
1888 1
/var/log/messages说明
|
人工智能 缓存 调度
技术改变AI发展:RDMA能优化吗?GDR性能提升方案(GPU底层技术系列二)
随着人工智能(AI)的迅速发展,越来越多的应用需要巨大的GPU计算资源。GPUDirect RDMA 是 Kepler 级 GPU 和 CUDA 5.0 中引入的一项技术,可以让使用pcie标准的gpu和第三方设备进行直接的数据交换,而不涉及CPU。
138007 6
|
机器学习/深度学习 网络协议 异构计算
浅析GPU通信技术(下)-GPUDirect RDMA
目录 浅析GPU通信技术(上)-GPUDirect P2P 浅析GPU通信技术(中)-NVLink 浅析GPU通信技术(下)-GPUDirect RDMA 1. 背景         前两篇文章我们介绍的GPUDirect P2P和NVLink技术可以大大提升GPU服务器单机的GPU通信性...
28152 0
|
10月前
|
网络协议 数据安全/隐私保护 网络虚拟化
计算机网络的体系结构
OSI模型,即开放系统互连模型,由ISO于1984年提出,是计算机网络通信的参考模型,将网络功能划分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。各层负责不同的通信任务,使网络设计与管理更加模块化和高效。
569 1
|
12月前
|
关系型数据库 开发者
|
11月前
|
数据可视化 开发者 索引
详解Wireshark LUA插件函数:function p_myproto.dissector(buffer, pinfo, tree)
在 Wireshark 中,LUA 插件通过 `function p_myproto.dissector(buffer, pinfo, tree)` 扩展协议解析能力,解析自定义应用层协议。参数 `buffer` 是 `PacketBuffer` 类型,表示原始数据包内容;`pinfo` 是 `ProtoInfo` 类型,包含数据包元信息(如 IP 地址、协议类型等);`tree` 是
462 1
|
Linux
深入探索与实践Linux系统中的modprobe命令
深入探索与实践Linux系统中的modprobe命令
427 0
|
网络协议 NoSQL API
深入理解 RDMA 的软硬件交互机制
本文深入分析了RDMA技术在数据中心高性能网络环境下的工作原理及软硬件交互机制,通过对比传统Kernel TCP,突出了RDMA在减少延迟、提高系统性能方面的优势,同时讨论了其在内存管理、软硬交互方面的关键技术和挑战,为读者提供了全面理解RDMA技术及其应用场景的视角。
|
存储 数据库 数据格式
深入理解依赖倒置原则(Dependence Inversion Principle)
深入理解依赖倒置原则(Dependence Inversion Principle)
1000 0