1

我认为我很擅长编程 C# 语法。我现在正在寻找一些资源、书籍(首选)、网站、博客,它们处理设计面向对象的桌面应用程序和 Web 应用程序的最佳方式,尤其是在数据和数据库方面。

谢谢

4

8 回答 8

6

你要求从消防水管里喝水。让我鼓励您在处理大程序之前编写一些小程序。然而,这里有几本关于设计的书和一篇认为很多设计不能从书本中学到的论文:

我从Glenford Myers的Composite/Structured Design中学到了很多东西,但它与您所询问的主题的直接关系稍差。它主要讨论模块相互依赖的好方法和坏方法

于 2008-12-14T05:19:58.560 回答
1

对于如何开发软件的书,我会推荐The Pragmatic Programmer。对于设计,您可能需要查看面向接口的设计Code Complete是关于开发软件的“A 到 Z”参考。您可能还想考虑 O'Reilly Head First书籍,尤其是Head First Object-Oriented Analysis and Design,因为它更容易开始。

编辑我不知道我是怎么忘记 Bob Martin 的,但你也可以阅读 Object Mentor 在其任何列表中的任何书籍。这是他们关于软件设计的部分。我特别推荐敏捷软件开发:原则、模式和实践(亚马逊,但它也是 Object Mentor 列表中的第二本书)。

于 2008-12-14T04:34:26.857 回答
1

我对最近的任何一本书都不感兴趣,以至于我正在认真考虑写一本新书。“Head First”的书通常比“For Dummies”的书高出一步(公平地说,我没有读过那本书。)

我其实很喜欢 Peter Coad 的Java Design;你可以买到便宜的,它不再印刷了。显然,它的 Java 很重,但设计部分很好,而且相当轻量级。

Ivar Jacobson 的面向对象软件工程也非常好(它引入了“用例”等概念)并且似乎仍在印刷中,但周围有数以万计的二手副本。

于 2008-12-14T05:04:06.563 回答
1

我从您的问题中选择了以下关键字:面向对象(建模和编程)、构建桌面应用程序、构建 Web 应用程序和数据库设计。因为你没有提到任何特定的语言,所以很难为你推荐。所以我假装我是问这个问题并且认识我的人,我向自己推荐:

  1. OO:Bruce Eckel 用 C++ 思考或用 Java 思考。
  2. 构建桌面应用程序:Ultimate++
  3. 和网络应用程序开发: http: //www.djangoproject.com/
  4. 数据库:我没有什么好的建议。

我提出上述建议的理由:

  1. 我不想推荐十几本书或更多。您不必全部阅读。
  2. Bruce Eckel 的“Thinking”书籍可以涵盖主要的 OO 概念,因为学习一门新语言不会有任何问题,因为这只是语法问题。
  3. Ultimate++ 可以生成最精简的桌面应用程序,并且它们非常积极地使用模板,从而产生非常优雅的代码。与 MFC、WPF、java Swing Java SWT、Python 等相比,使用 U++ 的另一个优点是您的可执行文件没有任何包袱或依赖项。它不需要您的用户安装 JRE、.NET 框架、MFC DLL 或 Python 等。这是我的选择,因此我提出了这个建议。
  4. Django,因为我了解并喜欢 Python,但我不太了解 Ruby。Ruby 专家会说 RubyOnRails 或 C# 专家会说 ASP MVC。Java 可能会说 Struts、JSF、Stripes,但我认为 Java 现在没有任何东西可以与 Python、Ruby、C# 甚至 PHP 的框架竞争。
于 2008-12-14T05:55:37.803 回答
1

我很惊讶还没有人提到“四人帮”的设计模式。正是这本书真正巩固了我应该如何真正使用 OO。前几章特别有启发性,说明在一个好的系统中应该如何工作。这不是最简单的阅读,但我认为它是最好的。如果您想要更轻松地了解同一主题,请查看 Head First Design Patterns。

于 2008-12-14T06:14:41.367 回答
1

Martin Fowler 的Enterprise-Application-Architecture 是一本关于常见模式的好书,您将在许多客户端服务器应用程序中看到。

更多关于思​​考面向对象问题的书是 Eric Evan 的领域驱动设计:解决软件核心的复杂性

于 2008-12-14T06:41:28.460 回答
0

多年前,作为做过一些 Windows 3.1 编程的 ac 程序员,我通过使用开发框架,特别是 Borland 的 Object Windows Library,学到了很多关于面向对象设计的知识。他们当时的软件包还为他们的数据库引擎提供了一个精心设计的数据库对象库。如今,所有数据库的东西都是 SQL,它不适合展示,恕我直言,好的设计。

因此,我的建议是使用设计良好的对象库对您有点熟悉的东西进行一些编程。我不知道该指向哪里 - Visual Studio 有点庞大,Office 对象模型有点难以掌握,直到你花了一些时间使用它们......

于 2008-12-14T07:04:24.637 回答
0

您还应该有面向对象的分析和设计应用程序 - Grady Booch

对于对 OOAD 感兴趣的人来说,这是必须的

于 2009-03-10T04:43:31.753 回答