SOLID的含义?
面试题中遇到了一个问题,只回答了英语本意。当时蒙了想不到是什么的缩写,回来整理下都有哪些含义。
一、 英文本意:n. 固体;立体图形; adj. 固体的,坚硬的,无空隙的;非中空的 adv. 一致 实体 实线 固态。
二、 Solid 是 Social Linked Data 的缩写, 万维网之父 Tim Berners-Lee 提出和只做的一个去中心化社交平台 。而 Inrupt 这家公司的使命是“ Re-decentralize the Internet”,即“使互联网重新去中心化”。简单来说,现在我们的数据都在各大互联网巨头手中,基本上你没有办法将其自由导出,而 Solid 设计了一个名为“Linked Data”的规范使数据可以在互联网中自由流通。
三、SOLID是一些五大原则首字母缩写:
S -SRP:the Single Responsibility Principle:单一职责原则 - 一个类只能因为一个理由被修改。
- A class should have one, and only one, reason to change.
- 业务拆分到原子业务
- 对扩展开放,对修改关闭。
- Entities should be open for extension, but closed for modification.
- 不修改已有业务,采用增加业务方式
- 使用指向基类指针的函数也可以使用子类。
- Functions that use pointers of references to base classes must be able to use objects of derived classes without knowing it.
- 子类可替换基类的前提是接口一致,子类不应该破坏父类的方法。
- 不能强制客户端实现它不使用的接口。
- A client should not be forced to implement an interface that it doesn’t use.
- 不相关业务的接口要分离
- 高层模块不应该依赖于低层的模块,它们都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。
- High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend on details. Details should depend on abstractions.
- 抽象时不要考虑具体实现方式
面试题的本意是想你回答设计模式。。。唉 加油吧!
相关推荐
制作过网页的人都有为画线而烦恼的经历,先来认识一下“Border”(画边框),它是CSS... “border”后面的三个参数的含义是:边框线的宽度是:thin(细线);边框线的类型:solid(实线);边框线的颜色:red(红色)。
在相对论面前,神马都是浮云……要想明白哪种写法最适合你当前的环境,那么就必须先了解这两种写法的含义及优缺点:一、border:0 含义: 它代表着边框:大小为0,在浏览器解析后的结果是没有边框 优点1:在写的时候...
Emacs的简单策略是将Meta键(在词源上具有源含义)绑定到源代码或功能。 然后,我们可以触发键Mx(执行用x)来调用该函数。 从Mx表格开始,您可以做任何您想做的事情,例如插入当前日期: 到目前为
虚拟设计中基于放样特征的零件实体建模技术研究,于建伟,刘晓平,本文主要介绍了SolidWorks中放样的含义、放样特征中控制点和引导线的应用。在放样特征中,控制点的放置位置不同可以得到不同的放样�
前几天在youtube上看了Bob大叔讲解的SOLID原则,其中有一段提到面向对象的三大特性,收获很多,但是我并不完全赞同他的观点,这里谈谈我的想法: 封装 『封装』第一层含义是信息隐藏。这是教科书里都会讲解的,把类...
logo图标含义 OpenAuth中OA字母的结合体;整体像鱼,授人以渔;你非说像咸鱼,那也是积极向上的咸鱼;中心是个笑脸,微笑面对生活(✿◡‿◡)。项目简介:项目采用经典DDD架构(用沃恩.弗农大神的话,其实这是DDD-Lite...
<table width="100" id="t2" style="border:10px solid #000;"> <td>1 <td>1 alert(document.getElementById("t").offsetWidth); alert(document.getElementById("t2").offsetWidth); 只要给table设置...
背景:为了深入了解先兆子痫中isomirR谱图和添加3'的isomiRs在先兆子痫中的潜在作用,我们通过应用SOLiD测序平台对不同先兆子痫程度的胎盘样品进行了miRNA库和3'添加事件的综合调查。 主要发现:用3'非模板附加...
知识图将数据与该数据的含义结合在一起。 这样就可以合并来自多个知识图的数据,即使不同的独立方维护或托管它们也是如此。 知识图可以通过 POD, 端点, 接口, 文件等进行托管。 使用内容协商,Walder可以通过...
2、理解Windows的消息机制,窗口句柄和其他GUI句柄的含义和用途。了解和MFC各个类功能相近的API函数。 3、一定要理解MFC中消息映射的作用。 4、训练自己在编写代码时不使用参考书而是使用Help Online。 5、记住一些...
NEAT 开 发 指南 文档 适用于 PT80 系列 移动数据终端 版本记录 版本号 版本描述 发布日期 V 1.0 初始版本。 2012-04-12 V1.1 修改前三章内容 2012-09-25 目录 第一章 关于本手册.....................................