`
neufjava
  • 浏览: 1594 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

SOLID的含义?

阅读更多
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.    
  • 业务拆分到原子业务
 O-OCP:the Open Closed Principle:开放闭合原则 
  • 对扩展开放,对修改关闭。
  • Entities should be open for extension, but closed for modification.               
  • 不修改已有业务,采用增加业务方式
L-LSP :the Liskov Substitution Principle:里氏替换原则   
  • 使用指向基类指针的函数也可以使用子类。  
  • Functions that use pointers of references to base classes must be able to use objects of derived classes without knowing it.  
  • 子类可替换基类的前提是接口一致,子类不应该破坏父类的方法。
I-ISP :the Interface Segregation Principle:接口分离原则 
  • 不能强制客户端实现它不使用的接口。  
  •  A client should not be forced to implement an interface that it doesn’t use. 
  • 不相关业务的接口要分离
D-DIP : the Dependency Inversion Principle依赖倒转原则    
  • 高层模块不应该依赖于低层的模块,它们都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。
  • 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.
  • 抽象时不要考虑具体实现方式

面试题的本意是想你回答设计模式。。。唉 加油吧!

 

<audio controls="controls" style="display: none;"></audio>

分享到:
评论

相关推荐

    SOLIDWORKS国标型材库

    四、GB文件名称列表的含义 在提供的压缩包子文件的文件名称列表中,"GB"代表“国标”(Guo Biao),这表明这些文件是按照中国的国家标准创建的型材模型。每个具体的文件名通常会包含型材的类型、规格等信息,便于...

    solidworks 型材标准库

    2. GB型材的含义 GB型材是指按照中国国家标准(GB)设计的型材,包括各种国标钢材、铝合金、不锈钢等材料的截面形状。在SolidWorks的型材标准库中,GB型材的引入使得中国用户能够直接选用符合国内规范的型材,无需...

    solidworks国标工程图模板.rar

    一、国标工程图模板的含义与作用 国标工程图模板,顾名思义,是按照中国国家标准(GB)创建的工程图模板。这些模板包含了符合国家规定的所有尺寸标注、符号、图框等元素,旨在确保设计图纸符合规范,便于制造和检验...

    SolidWorks模型文件

    SolidWorks是一款广泛应用于机械设计领域的三维CAD(计算机辅助设计)软件,由Dassault Systèmes公司开发。这款软件以其直观易用的...对于学习和使用SolidWorks的用户来说,理解和掌握这些文件的含义和作用至关重要。

    solidworks二次开发VC++

    首先,理解“拉伸操作”在SolidWorks中的含义至关重要。在三维建模中,拉伸是基本的造型方法之一,它允许用户通过选择一个二维草图,然后沿着指定方向延伸来创建三维实体。这种操作广泛应用于制造设计、机械工程等...

    solidworks2012工程图打印不黑、线型粗细颜色的设置

    不同的线条样式在图纸上代表着不同的含义,例如中心线通常用于表示物体的对称轴线,而虚线可能用于表示零件的剖面线等。 第五个选项是隐藏/显示边线,这个功能对于特殊制图环境特别有用。在某些情况下,为了图纸的...

    solidworks

    #### 二、序列号资源含义及用途 在提供的文本中,“?0000000000003486Q5HFFG980001000107360361JK3QHDJ3”以及随后的一系列数字和字母组合看起来像是产品序列号或激活码。这些序列号用于验证 SolidWorks 软件的合法...

    SolidWorks-API-SDK在压铸模具CAD中的应用.pdf

    SolidWorks-API-SDK是用于二次开发SolidWorks软件的工具,它为普通工程技术人员提供了一个相对便捷的二次开发手段。SolidWorks是一款基于Windows平台的三维机械设计软件,由SolidWorks公司开发。该软件以其易用性、...

    Solidworks自己用GB明细表

    1. **GB明细表的含义**: - GB明细表是按照中国国家GB标准格式编写的,确保设计符合国内法规和行业规范。它提供了统一的表格样式和内容要求,方便工程团队理解和应用。 2. **Solidworks明细表功能**: - Solid...

    solidworks管道设计功能详解

    首先,我们来看看SolidWorks管道设计中一些基本术语的含义: 1. 管道点:管道点用于在3D草图中定位附件,它们可以位于交叉点或端点。对于具有多个端口的部件如蕊头,管道点位于轴线的交叉点处的草图点上。对于法兰...

    solidworks期末考试题1整理.pdf

    7. **符号含义**:理解SolidWorks中的各种符号至关重要,例如用于表示不同的几何关系或状态的符号。解答这类问题需要熟悉软件界面和图标。 8. **移动零件**:在装配环境中,可以按住Shift键加鼠标中键拖动零件表面...

    SolidWorks2010教程

    - **含义**:标签指出了本教程所涉及的主要软件——SolidWorks。 #### 部分内容概述 - **基础知识**:首先介绍了软件的基本安装与功能,以及快速上手的指南。 - **进阶功能**:涵盖了零件设计、装配体操作、工程图...

    NX二次开发-UFUN导出STL函数UF_STD_put_solid_in_stl_file博客文章源代码

    参数含义如下: - `solid`:要导出的实体模型对象。 - `filename`:输出的STL文件名,包括路径。 - `ascii`:布尔值,决定STL文件是否以ASCII(文本)格式保存,1表示ASCII,0表示二进制。 - `errormsg`:如果...

    solidworks2008教程

    - **斜体字**:用于解释关键概念,如“基于特征”的含义。 #### 九、结论 - SolidWorks是一款功能强大的三维CAD软件,适用于机械设计领域的专业人员。通过本教程的学习,用户不仅能够掌握SolidWorks的基本操作,还...

    solidwork 翼型导入器

    首先,让我们了解“翼型”在工程领域中的含义。翼型通常指的是飞机机翼或类似结构截面的形状,其设计对于飞行性能至关重要。在SolidWorks中,模拟和设计这样的复杂几何形状是一项挑战,因为它们需要精确的数学表示和...

    SOLIDWORKS 电气基础教程

    - 符号和设备的管理是电气设计中的核心环节,需要了解各种符号的含义及其在电气原理图中的应用。 - 制造商设备型号是指定电气元件具体型号的方式,它对整个电气系统的性能和兼容性有直接影响。 **第五章 制造商设备...

    4 DOF工业机械臂solidworks

    在SolidWorks中设计4 DOF工业机械臂,首先要理解各个自由度的含义。这四个自由度通常包括: 1. 水平旋转(X轴):允许机械臂沿水平面内进行左右旋转。 2. 垂直提升(Y轴):让机械臂在垂直方向上上升或下降。 3. ...

    pokemon solid

    这个文件名可能包含了设计阶段、分辨率或者设计师的特定标记,具体的含义需要进一步的信息来解读。 总的来说,“pokemon solid”是一项结合了神奇宝贝元素的字体设计项目,它展示了字体设计的艺术性和创新性。通过...

    机械蟒三维模型 solidworks与step格式

    这个模型采用了两种不同的文件格式——SolidWorks和STEP。SolidWorks是一款广泛使用的三维CAD软件,专门用于机械设计,具有强大的建模和装配功能。而STEP(STandard for the Exchange of Product model data)是一种...

    双轴数控车床(SolidWorks+STEP).rar

    1. 数控系统的工作原理和编程基础:学习G代码和M代码的含义,掌握基本的数控程序编写。 2. 机械结构设计:分析SolidWorks模型,理解各部分的功能和相互关系,如何实现运动和定位。 3. 材料选择与加工工艺:根据设计...

Global site tag (gtag.js) - Google Analytics