OOP基础与SOLID之间的区别?

时间:2014-10-20 12:22:26

标签: oop design-patterns solid-principles

我知道OOP(面向对象编程)和SOLID。

  • OOP基础知识
    • 封装
    • 抽象
    • 继承
    • 多态性

  • SOLID
    • 单一责任原则
    • 开放/封闭原则
    • Liskov替代原则
    • 接口隔离原则
    • 依赖倒置原则)

但是,我不确定具体的差异是什么,以及SOLID是否是OOP的子集。任何人都可以帮助解释这些差异吗?

2 个答案:

答案 0 :(得分:16)

答案很简单:

  • 不支持Encapsulation,Abstraction,Inheritance和Poly 的语言或概念不是面向对象的。如果您执行面向对象的操作,则可以始终应用这些OO基础知识,因为它们是可用的。一个人并不称这种事为原则。
  • SOLID作为回报是可选的。在开发OO设计时,您应该通过应用基础知识来努力实现。 Solid只决定" good"你的设计是不是面向对象。它们是原则。
PS:我不理解你的问题,因为它是合法的,可以清楚地回答,并且让许多OO新人感到困惑。从我这里投票。

答案 1 :(得分:2)

面向对象编程是一种基于“对象”概念的编程形式。舍入描述所需实体的属性(宽度,时间,位置......)和行为(更改宽度,显示时间,计算位置......)的代码片段,这些实体一起工作以解决特定问题。 SOLID是一组原则,可帮助您设计面向对象域中特定问题的解决方案。将其视为一组规则,可帮助您直观地找到解决问题的最佳解决方案。