OOAD书籍推荐:从理论到实践

发布于 2024-08-19 18:37:36 字数 1539 浏览 6 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

别忘他 2024-08-26 18:37:37

尽管倾向于 Rational UP,但我发现这两者提供了很多关于 OO 设计的见解。

  • 应用 UML 和模式 - Craig Larman
  • UML 2 和统一过程:实用的面向对象分析和设计 - Jim Arllow &伊拉·诺伊施塔特

Although leaning towards Rational UP I've found these two to offer a lot of insight into OO design.

  • Applying UML and Patterns - Craig Larman
  • UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design - Jim Arllow & Ila Neustadt
糖粟与秋泊 2024-08-26 18:37:36
  1. 面向对象的软件构建”,作者:Bertrand Meyer

关于面向对象的最基本的工作曾经发表过。这绝对是每个“面向对象”程序员的必备书籍。

2.
使用应用程序进行面向对象的分析和设计”,作者:Grady Booch 等人

事实并非如此与 Meyer 的书一样正式,但这本书可以让你开阔眼界,了解面向对象世界和一般软件开发中的许多问题

3.
设计模式:可重用面向对象软件的元素”,作者:Erich Gamma 等人。

这是著名的“四人帮”关于设计模式的书

4。
重构:改进现有代码的设计”,作者:Martin Fowler 等人。

这是另一本经典书籍。第一部分完美地描述了现代软件开发人员在工作中可能面临的许多问题:代码异味、可读性与性能、过早优化的缺点以及许多其他主题。

5.
Thinking in Java”,作者:Bruce Eckel

这本书不仅可以帮助许多初学者Java语言也是面向对象的思维方式。

6.
课堂接触:学习如何使用对象和契约进行良好编程”作者:Bertrand Meyer

著名作家的优秀教材。

  1. "Object-oriented software construction" by Bertrand Meyer

Most fundamental work about object-orientation ever published. This is absolutely must have book for every "object-oriented" programmmer.

2.
"Object-Oriented Analysis and Design with Applications" by Grady Booch et al

Not so formal as Meyer's book, but this book can open your eyes on many questions in object-oriented world and in software development in general

3.
"Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma et al.

This is famous "Gang of Four" book about design patterns

4.
"Refactoring: Improving the Design of Existing Code" by Martin Fowler et al.

This is another classical book. First part perfectly describe many problem that modern software developer may faced during his work: code smells, readability vs performance, premature optimization drawbacks and many other topics.

5.
"Thinking in Java" by Bruce Eckel

This book may help many beginners not only in Java language but in object-oriented way of thinking too.

6.
"Touch of Class: Learning to Program Well with Objects and Contracts" by Bertrand Meyer

Excellent textbook by famous author.

新一帅帅 2024-08-26 18:37:36

我读过的关于 OO 的最好的书是 Bertrand Meyer 面向对象的软件构建

它很大,但对我来说非常有用。它涵盖了 OO 设计 IMVHO 的各个方面。

The best book I ever read about OO is Bertrand Meyer Object Oriented Software Construction.

Its huge but it was very useful for me. It covers every single aspect of OO design IMVHO.

臻嫒无言 2024-08-26 18:37:36

我完全理解你的处境。还拥有其中三本书;)我建议使用 Head First 版本。面向对象的分析和设计。这将使您走上正确的轨道。 《GoF》这本书很棒,但在你掌握基础知识之前没有用,而《Head First》这本书会解决这个问题。干杯:)

I fully understand your situation. Also own three of those books ;) I'd suggest the Head First edition. Object-Oriented Analysis and Design. This will get you on the right tracks. The GoF book is great but of no use until you get the basics through your head and the Head First book will take care of that. Cheers :)

っ〆星空下的拥抱 2024-08-26 18:37:36

实际进行编程比阅读有关编程的帮助更大。

“因一些非常基本的决定而陷入瘫痪”是一个更深层次问题的症状——过度设计。在你构建出很多东西之前,你并不真正知道哪些决定重要,哪些决定不重要。

获得必要经验的最好方法是构建大量东西。

Code Kata 非常非常重要。 http://slott-softwarearchitect.blogspot.com/search/label/code- kata

另外,我收集了一堆代码 kata,并将其用于单个大型项目。 http://homepage.mac.com/s_lott/books/oodesign.html

Actually doing programming is a bigger help than reading about doing programming.

"paralysed by some very basic decisions" is a symptom of a deeper problem -- over-engineering. Until you build a lot of stuff, you don't really know which decisions matter and which don't matter.

The best way to get the necessary experience is to build a lot of stuff.

Code Kata is very, very important. http://slott-softwarearchitect.blogspot.com/search/label/code-kata

Also, I collected a bunch of code kata that I have used into a single, large project. http://homepage.mac.com/s_lott/books/oodesign.html

圈圈圆圆圈圈 2024-08-26 18:37:36

Robert C. Martin 的《敏捷软件开发:原则、模式和实践》向您解释了 OO 的原则

Eric Evans:《领域驱动设计》讨论了如何做出与您的业务问题相对应的良好设计

Martin Fowler:“面向对象的模式”企业应用架构”了解企业架构的基本原则

Robert C. Martin "Agile Software Development: Principles, Patterns and Practices" that explains you the principles of OO

Eric Evans: "Domain Driven Design" deals with how to make a good design that corresponds to your business problem

Martin Fowler: "Patterns of Enterprise Application Architecture" for basic principles on enterprise architecture

青芜 2024-08-26 18:37:36

对于初学者,我建议 Head First 面向对象的分析和设计
它指导您以简单直观的逐步方法构建面向对象的应用程序。

For a starter, I suggest Head First Object Oriented Analysis and Design.
It guides you to build an OO application in a simple intuitive step by step method.

时常饿 2024-08-26 18:37:36

确定设计是否稳健的唯一方法是实施它。没有一本书可以教您如何进行可实施的设计,这取决于经验和才能。然而,我确实支持 Bertrand Meyer 的书——只是要注意它不会让你成为 OO 设计之神。

The only way to find out if a design is robust is to implement it. There is no single book that will teach you how to produce implementable designs, it comes down to experience and talent. However, I do second the vote for Bertrand Meyer's book - just be aware it won't turn you into an OO design god.

余生共白头 2024-08-26 18:37:36

Craig Larman 的 Applying UML and Patterns 总结了我从经验中学到的很多东西。我喜欢它的地方在于它解决了软件设计的所有方面——其中包括迭代设计和开发等内容。不要过分关注 UML 的使用:设计描述是达到目的的一种手段,而且我发现 Larman 的方法相当务实。您不能只是编码:您必须传达您的意图(并了解需要什么)。 UML 和设计简洁、注释良好的代码是实现这一目标的一些手段。

当然,正如其他人提到的:没有一本书能让你成为一名优秀的开发人员或设计师。但这可能有助于加速这一进程。

Craig Larman's Applying UML and Patterns summarized a lot about what I had learned from experience. What I like about it is that it addresses all the aspects of software design -- which includes things like iterative design and development. Don't stare too hard at the use of UML: design descriptions are a means towards an end, and I found Larman's approach fairly pragmatic. You can't just code: you have to communicate your intentions (and understand what is needed). UML and cleanly designed, well commented code are some of the means towards that end.

And, of course, as others mention: no book will make you a good developer or designer. But it might help accelerate the process.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文