Design patterns 关于学习软件开发和设计模式的建议 我已经编程了一段时间,我知道java、C++和C++的基础知识。我懂一点面向对象编程。目前,我正在努力提高我的知识水平(我需要在编程项目中使用C语言)

Design patterns 关于学习软件开发和设计模式的建议 我已经编程了一段时间,我知道java、C++和C++的基础知识。我懂一点面向对象编程。目前,我正在努力提高我的知识水平(我需要在编程项目中使用C语言),design-patterns,software-design,Design Patterns,Software Design,但在这条路上我真的感到失落和沮丧。我想学的不仅仅是一门语言的基础知识。我想学习设计模式、开发和规划软件项目,但我不知道如何继续 我试着读一些关于设计模式的书,但当我没有具体的项目要做时,它们会让我觉得很抽象。我真的很困惑,你是如何学习面向对象设计和设计模式的?我觉得如果我只是读一本书,我不会学到很多东西 我觉得Head First Design Patterns一书试图将其过于简单化。四人帮的书感觉太理论化了(它说你需要先学习面向对象的设计)。我喜欢更直截了当并且有一些练习的书/资源 在这种情况

但在这条路上我真的感到失落和沮丧。我想学的不仅仅是一门语言的基础知识。我想学习设计模式、开发和规划软件项目,但我不知道如何继续

我试着读一些关于设计模式的书,但当我没有具体的项目要做时,它们会让我觉得很抽象。我真的很困惑,你是如何学习面向对象设计和设计模式的?我觉得如果我只是读一本书,我不会学到很多东西

我觉得Head First Design Patterns一书试图将其过于简单化。四人帮的书感觉太理论化了(它说你需要先学习面向对象的设计)。我喜欢更直截了当并且有一些练习的书/资源


在这种情况下,您的建议是什么?

您可能会感兴趣的中间路线(介于四人帮的抽象本质和简单的头先设计模式之间)-尝试:

Martin Fowler-企业应用程序架构模式(本书)。您可以在以下位置的阵列目录预览中看到:

还要考虑:Michael T.Nygard—Release It—包含一些与可靠性、可伸缩性和类似问题相关的优秀模式:


这些书可能比您所寻求的更高层次(应用程序体系结构),但提供了非常具体的问题和解决方案。

您需要阅读一些真正解释发生了什么的好书。我会和你一起去。这些书不会直接教你设计模式,但你会学到如何为你面临的每一个问题创建伟大的设计解决方案。只有少数情况下,设计模式是预煮的解决方案。你需要能够自己解决每一个可能的问题。在那之后,学习设计模式是孩子们的游戏。

fowler的poeaa非常好,但它与设计模式无关。编写代码并逐步学习gof书中的许多模式。