我最近正在尝试学习面向对象编程,但SOLID原则和设计模式让我感到困惑。我知道它们的好处,也想使用它们,但是我无法理解如何按照规范开发我的类。我非常希望能得到任何有助于理解这些概念的帮助。
我曾经上过一门大学课程,其中有两周是关于设计模式的,我也读了四人帮的书,但都没有什么用。对于我这样一个没有太多面向对象编程经验的开发者来说,理解每个模式的作用以及如何使用它们来适应我的问题非常困难。
真正让我明白的那本书是Head First设计模式。它首先展示了一个问题,不同的开发者考虑的方法,然后展示他们最终如何使用设计模式来解决它。它使用了非常简单的语言,并保持了书籍的趣味性。
设计模式最终成为了描述解决方案的一种方式,但你不必须将你的类适应这个解决方案。把它们看作是指导广泛问题的好的解决方案的指南。
现在让我们谈谈SOLID原则:
CanBark
方法,那么它可以有一个Bark
方法 ;) 4 正确,但是例子有点无聊 ;) 5 这就是依赖注入。依赖反转表示您应该依赖于抽象,并且高级模块应该依赖于低级模块而不是相反。 - jgauffin