我正在寻找用于学习面向对象设计的良好资源(书籍/网站)。我发现的每一个资源都在UML和RUP而不是OO设计上辅导我。头一本书的重复性让我不想阅读他们的任何书籍。我正在寻找一本类似于“Structure and interpretation of computer programs”的书,用于面向对象的设计,它可以达到教学OO的目的。我不喜欢任何特定的OO语言。
答案 0 :(得分:6)
Object-Oriented Analysis and Design with Applications是这个主题的圣经。它虽然有点密集,但也非常平易近人,但绝对值得阅读和重新阅读。
答案 1 :(得分:2)
也作为Gang of Four书的替代品。
我可以推荐:The Design Patterns Smalltalk Companion
一般来说,学习Smalltalk将帮助您成为任何语言的优秀OOP开发人员。
来自亚马逊的评论:
比原版更容易理解 GoF,2000年2月4日,Nicolas 魏德曼这 本书可以让您更好地理解 模式比原来的模式 版本(GoF之一)。我不是 SmallTalk程序员,但9年C ++ 一。在工作中,我不得不使用GoF书 并且从不喜欢阅读它。在 与此形成鲜明对比的是SmallTalk 伴侣很容易阅读,你可以 理解内部的模式 他们描述的前几行。 采取桥模式并进行比较 他们在两本书中的讨论。如果 你真的很喜欢Gof然后买 它。但据我说,这将是一个 支持GoF的大错误 SmallTalk伴侣。相信一个 C ++程序员: - )
答案 2 :(得分:1)
我不得不承认 Head First Design Pattern 真是一本不错的书,但着名的设计模式:可重复使用的面向对象软件的元素仍然是必读的太
在网络上,Object Mentor网站的What Is Object-Oriented Design?页面是另一个很好的资源。
答案 3 :(得分:1)
从同一主题的另一个答案中引用自己:
学习如何思考的宝贵资源 在模式和做正确的OOP 分析和设计是Analysis Patterns: Reusable Object Models 由马丁福勒和克雷格拉曼的Applying UML and Patterns。我也是 需要在此提及Eric Evans的Domain-Driven Design: Tackling Complexity in the Heart of Software, 我找到的最有价值的书 想想整个软件设计 过程
答案 4 :(得分:1)
D.L.试试这个paper。 Parnas,尤其是“The Criteria”部分。只有六页,那里有如此多的真理和智慧。
答案 5 :(得分:1)
您需要一门课程,您可以以正确的方式练习设计对象。一本书不允许这样做。从Job Ready Programmer学习一门课程。这个网站有实际的现实世界项目,可以添加到您的简历中。涵盖SOLID OOP原则和流行设计模式的好课程是:面向对象设计硬件+解决方案:https://www.jobreadyprogrammer.com
答案 6 :(得分:0)
我没有读过但是听过Arthur J. Riel的Object-Oriented Design Heuristics非常好的事情。
这本书的典型亚马逊评论:
如果您对语言有所了解,并准备好掌握 更好的方法来实现您的设计,使它们更易于维护和合理化, 然后抓住这个文本。
答案 7 :(得分:0)
有关良好OO设计的示例
你可以看看:
Holub on Patterns: Learning Design Patterns by Looking at Code