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

谢谢

有帮助吗?

解决方案

Martin Fowler的企业级应用架构 是常见的模式是一个伟大的书,你会在很多的客户端服务器应用程序看到的。

更多一书的思考面向对象的问题是埃里克·埃文的领域驱动设计:在软件的心应对复杂性

其他提示

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

  • 论系统设计 是一篇很好的短论文 阐明了许多经验丰富的程序员的想法 关于设计艺术。

  • 编程珍珠 乔恩·本特利 (Jon Bentley) 提出了一些可爱的例子 设计在小. 。这本书读起来很有趣,包含许多经典故事。

  • Unix 编程环境 由 Kernighan 和 Pike 呈现 最伟大的软件设计哲学之一 20世纪。近 25 年后仍然需要阅读。

  • Pascal 中的软件工具 更窄更深入,但会告诉你很多关于细节的信息 构建软件工具 和设计理念。

  • 程序开发中的抽象和规范 作者:Barbara Liskov 和 John Guttag 将教您如何 设计单独的模块,以便它们可以与其他模块配合 形成伟大的图书馆。该书已绝版,但您当地的大学图书馆可能有。

  • C 接口和实现 礼物 一个设计精良的图书馆 它为 C 程序员提供了高级语言中的抽象。

  • 最后, 测试驱动开发 会教你 如何阐明和开发设计 通过重要的事情:您的软件实际上做了什么。

我从中学到了很多 复合/结构化设计 作者是 Glenford Myers,但它与您询问的主题不太直接相关。它主要讲的是 模块相互依赖的好与坏方式.

我没有兴奋与任何新书,以至于我在认真考虑写一个新的。 “头第一”书籍通常有读我IKE一个步骤上面的“傻瓜”书籍(做到公平,我还没有读那一个。)

我其实是喜欢彼得·科德的 Java的设计;你可以得到一个廉价使用,它不再印刷。显然,这是Java的沉重,但设计的部分是好的,非常轻便。

伊瓦尔·雅各布森的面向对象软件工程也很不错(它推出的“用例”,除其他事项外),并确实出现的想法仍然在打印,但也有各地使用的拷贝不计其数。

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

  1. 面向对象:《用 C++ 思考或用 Java 思考》作者:Bruce Eckel。
  2. 构建桌面应用程序: 终极++
  3. 和网络应用程序开发: http://www.djangoproject.com/
  4. 数据库:我没有什么好的推荐。

我提出上述建议的理由是:

  1. 我不想推荐十几本书或更多。您不必全部阅读。
  2. Bruce Eckel 的“思考”书籍可以涵盖主要的面向对象概念,因为您在学习一门新语言时不会有任何问题,因为这只是语法问题。
  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 的框架竞争。

我惊讶,没有一个人被“四人帮”所提到的设计模式呢。这是真正巩固在我的脑海里如何OO真正应该使用的书。第几章是关于如何事情应该在一个良好的系统工作,特别受启发。这也最容易读,但我认为这是最好的。如果你想的相同主题打火机视图,请Head First设计模式。

有关一书,对如何开发软件,我会建议程序员修炼。对于设计你可能想看看接口为本的设计代码完成是开发软件的“A到Z”的参考。您可能还需要考虑O'Reilly的深入浅出的书籍,特别是的深入浅出面向对象分析与设计,如一些轻松一点的开始。

修改我不知道我怎么忘了鲍伯马丁,但你也可以读取任何的那个对象导师有任何的它列出了书。下面是他们在软件设计部分。尤其是我建议敏捷软件开发:原则,模式与实践 (亚马逊,但它也是第二本书对象导师列表上)。

几年前,因为谁做了一些Windows 3.1的C语言编程的程序员,我用了一个开发框架,特别是Borland的对象Windows库学到了很多关于面向对象的设计。其包装背面则也不得不为他们的数据库引擎精心设计的数据库对象库。如今,所有的数据库的东西是SQL,它本身不适合于展示,恕我直言,良好的设计。

所以,我的建议是做你是一个有点熟悉的东西有些编程,利用精心设计的对象库。我不知道在哪里可以点你 - Visual Studio是一种巨大的,处对象模型是有点难以摆脱你的手,直到你已经花了一些时间与他们...

您也应该有面向对象分析与设计应用 - 格雷迪Booch的

这是一个必须有感兴趣的OOAD

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top