大家好,我是软件工程师。我三年级的学生现在我正在“软件设计”课程中学习设计模式问题是这些东西真的很难获得你知道任何简化的指南或视频来理解这些概念吗?!我的专业是下周考试,我需要早点准备,希望你能给出最简单的参考来理解它们
5 回答
我会查看Kathy Sierra 的Heads First Design Patterns。她是创建 Heads First 系列的人。与《四人帮》相比,它更容易理解(尽管这是一本好书),而且它被设置为教程,而不仅仅是一本谈论它们的书。
我听说《Head First Design Patterns》这本书在使您遇到问题时易于理解方面做得很好。
最简单的方法可能是在stackoverflow上搜索..
快速搜索的一些链接
https://stackoverflow.com/questions/105049/what-are-the-best-design-patterns-books-you-have-read
正如您在链接中看到的那样,Head First Design Patterns位于所有链接的顶部。所以我会选择那个!
设计模式的概念实际上很容易理解。
您可能遇到的困难是对单个模式的理解,因为其中一些可能相对抽象或复杂,并且尝试将给定模式应用于它并不真正适合的情况可能会加剧这种困难。(这就是为什么正确定义模式的关键组件,正如GoF教给我们的,是其适用性部分)。
一个建议是首先学习一些相对简单/直观的模式(比如,也许是Adapter、Facade和Command),然后寻找这些适用或不适用的案例,并了解它们如何/为什么工作以及它们如何为更好的设计。
一旦达到对简单模式的熟悉程度,通过练习,以及对什么是模式以及应该如何学习模式的广泛理解,你就可以扩展你的模式(并确保在适当的时候使用它们:如果你不使用它们,你会松开它们!)。
上面讨论的关于学习模式的双关语-pardon my 双关语更适用于对软件设计的“终身”兴趣,而不是像 OP 那样适用于“下周重大考试”的背景,而且永远不会少建议也可能会坚持(取决于考试的形式):
- 退后一步,放松!并了解模式是什么,作为一个概念
- 学习一两个简单的模式,“深入”,做练习等。
- 浏览预期将包含在考试中的模式列表,重点关注适用性和显示模式中对象/参与者交互的图表。
您可以从这里开始 简单但适合初学者的文章
http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training