我正在寻求成为一个好的OO发展者。哦,让我着迷,因为我了解这些模式,知道为什么构图使您更加灵活性,而不是继承和更多这样的智慧。但是,我得出的结论是,我知道如何实施单身工厂 但这我不知道如何提出强大的OO设计.

我有很多书

  1. GOF的设计模式
  2. Antpatterns Brown等。
  3. 福勒的重构
  4. 代码完成2

他们可能是非常好的书籍,但他们不教您构建应用程序。我经常被一些非常基本的决定瘫痪(例子)。我正在寻找一本教授何时和原因的书。有很多关于锤子和指甲的书,但我还没有找到一本书,可以告诉您有关他们的实际关系的信息。

哪本书最有助于使您成为自信的OO-Architect/Designer?

有帮助吗?

解决方案

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

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

其他提示

  1. "面向对象的软件构建“伯特兰·迈耶(Bertrand Meyer)

有史以来大多数关于对象取向的基本工作。这绝对必须有每个“面向对象”的程序员的书。

2. "带有对象的分析和设计“ Grady Booch等人

不像迈耶(Meyer)的书那样正式,但是这本书可以让您对面向对象的世界和软件开发中的许多问题睁开眼睛

3. "设计模式:可重复使用的面向对象软件的元素“由Erich Gamma等人。

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

4. "重构:改进现有代码的设计“马丁·福勒等人。

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

5. "在爪哇思考“布鲁斯·埃克尔(Bruce Eckel)

这本书不仅可以用Java语言,而且还以面向对象的思维方式帮助许多初学者。

6. "班级的触摸:学会与对象和合同进行很好的编程“伯特兰·迈耶(Bertrand Meyer)

著名作家的优秀教科书。

我完全了解您的情况。还拥有其中的三本书;)我建议头版第一版。面向对象的分析和设计。这将使您走上正确的轨道。 GOF书很棒,但没有用,直到您通过头部获得基础知识,而第一本书将解决这个问题。欢呼:)

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

“因某些非常基本的决定瘫痪是一个更深层的问题 - 过度工程的症状。在您构建很多东西之前,您真的不知道哪些决定很重要,哪些无关紧要。

获得必要体验的最佳方法是建立很多东西。

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

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

您应该使用link_to

<%= link_to 'Button!', '#', :class => 'btn btn-large' %>
.

我以这种方式使用它,它完美地工作。

button_to Helper生成带按钮的表单。在这里,您只需要一个带有按钮外观的链接。

找出设计是否强大的唯一方法是实施它。没有一本书可以教您如何制作可实施的设计,这取决于经验和才华。但是,我对贝特兰·迈耶(Bertrand Meyer)的书进行了第二票的投票 - 请注意,它不会使您成为OO设计的上帝。

克雷格·兰曼(Craig Larman) 应用UML和图案 总结了我从经验中学到的知识。我喜欢的是它解决了软件设计的所有方面,其中包括迭代设计和开发之类的内容。不要太努力地使用UML:设计描述是终点的一种手段,我发现Larman的方法相当务实。您不能仅仅代码:您必须传达意图(并了解所需的内容)。 UML设计干净,评论良好的代码是该目的的一些手段。

而且,当然,正如其他人提到的那样:没有书会让您成为一个好的开发人员或设计师。但这可能有助于加速过程。

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

尽管倾向于理性,但我发现这两者为OO设计提供了很多洞察力。

  • 应用UML和图案 - Craig Larman
  • UML 2和统一过程:实用的面向对象的分析和设计-Jim Arllow&Ila Neustadt
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top