前 言 本书循序渐进地介绍了如何使用Visual Studio 2008中的新功能来开发ASP.NET 3.5应用程序,对每一个新功能都进行了详尽地介绍,并最终生成了一个解决方案,您可以将该解决方案作为起点来构建自己的应用程序。 如果您负责设计或开发企业级应用程序、部门级应用程序、门户网站或者各行业应用程序,那么本书将适合您。许多应用程序都会有一组相似的功能,本书中构建的应用程序就包含了一些企业应用程序的通用功能。其实每个应用程序都有一套相同的功能,只是各自有不同的实现方式。它们都采用后台数据库,而开发人员则负责使用户可以添加、更新、选择和删除记录。但实际情况并非这么简单。 实际的开发工作是从需求分析开始的,这时您要与用户在一起交谈,在第一时间了解他们的业务流程以及他们为何需要一个新的系统,或者为何要对系统进行改进。许多公司都有这样的部门,他们使用Excel和Access向导来创建小型应用程序,但最终一部分业务就要依靠这些应用程序来执行。由于使用工具的原因,经常会出现一些问题,召集高级管理人员开会、雇用项目经理和程序员、求助项目管理办公室(Project Management Office,PMO),这样的事情时有发生。突然之间,松散定义的业务成了被优先考虑的对象,人们希望有标准的操作过程文档,希望能得到审计报表,希望能够少投入多产出,当然更希望能有一个系统可以完成所有这些工作,这也是您阅读本书的目的所在。但仔细考虑这个问题,您就会发现这是一个非常艰巨的任务。您要在业务流程、业务缺陷等各方面都成为专家,并且要能够创建一个公司赖以生存的系统。或许我有点夸大其词了,但当您想得到职务上的提升时可能也会有同样的言论。 本书将教会您如何构建一个可扩展的应用程序框架,您可以使用该框架来创建一个解决方案,以解决企业所面临的问题。设计模式采用了标准的三层结构,即用户界面层、业务逻辑层和数据访问层,还在每一层中创建了通用的业务逻辑类,将基于角色的安全模型、工作流、报表、动态菜单、数据输入、动态查询、通知、异常处理和审计等通用的业务封装起来。本书在推出整个解决方案的过程中,详细地对每一个业务需求进行了定义,并通过ASP.NET 3.5和Visual Studio 2008的最新功能,在一个可重用的框架中实现了它们。 企业应用程序通常是很复杂的,开发小组中的人员形形色色。有项目发起人、项目经理、业务分析师、架构师、UI开发人员、中间层开发人员、数据库开发人员,或者还有测试人员。要记住:用户不是测试人员。如果您曾与专业的测试人员共事过,就会认识到他们在整个开发过程中有多么重要,他们是软件质量真正的保证。许多公司不情愿聘用专业测试人员,所以用户或者开发人员就扮演了测试人员的角色。本书的读者主要是架构师和开发人员,但对测试人员也具有参考价值,可以帮助他们了解企业级应用程序的整个设计开发过程。 我非常幸运,能够经常与用户或企业主来讨论需求,并负责开发解决方案来满足他们的需要。无论是与HR讨论部门级的应用程序,还是与副总裁研究企业级的应用程序,当把他们的需求分解成可以进行开发的实体对象时,就会发现他们需要的应用程序或多或少有些类似。他们从不同的地方收集数据,但是都有自己的业务流程,需要E-mail通知、报表打印以及基于角色的安全体系。因此,本书中构建的企业应用程序框架为您提供了一个基础架构,您可以对它进行扩展来实现企业特定的业务需求。 读者对象 本书适合中高级开发人员或系统架构师。若使用过Visual Studio、.NET Framework、ASP.NET以及C#,则更有帮助。因为书中的示例是基于ASP.NET的,但其设计模式适用于任何编程语言。本书关注企业级应用程序,但采用的模式适用于任何一种拥有Web前端并连接后台数据库的应用程序。 主要内容 本书中的示例采用Visual Studio 2008、ASP.NET 3.5、C#以及SQL Server 2005构建。每一章都详细地介绍了一个模块,提供了丰富的示例代码,并使用了Visual Studio 2008中的新功能以及.NET Framework 3.5中增强的语言特性。解决方案中包括诸如LINQ to SQL、母版页、自定义控件、GridView、业务对象、数据对象、Crystal Reports等新技术的示例。新的语言特性包括LINQ、扩展方法、部分方法、自动属性、匿名类型、lambda表达式以及新的对象初始化方法。 当然,代码才是大多数开发人员的兴趣所在,所以每一章中都提供了很多示例。 组织结构 本书的每一章都分为三个部分,首先提出要解决的问题,然后针对问题考虑解决方法,最后给出问题的解决方案。解决方案中包含了大量的代码。由于每一章都以前一章的内容为基础,所以建议您按照顺序来阅读。在前几章中介绍的基类对于理解本书其他部分的内容至关重要。后面各章以这些基类为基础,在三层结构的每个层中扩展它们的功能。 使用要求 ●Visual Studio 2008 标准版或专业版 ●SQL Server 2005 或 SQL Server 2005 Express ●Windows Vista、Windows XP、Windows 2003或Windows 2000 源代码 在学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点/或http://www. tupwk.com.cn/downpage上下载。登录到站点,使用Search工具或使用书名列表就可以找到本书。接着单击本书细目页面上的Download Code链接,就可以获得所有的源代码。 提示: 由于许多图书的标题都很类似,所以按ISBN搜索是最简单的,本书英文版的ISBN是978-0-470-39686-5。 在下载了代码后,只需对其执行解压缩操作。另外,也可以进入/ dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。 勘误表 尽管我们已经尽了各种努力来保证正文和代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,同时也有助于我们提供更高质量的信息。 请给wkservice@vip.163.com发送电子邮件,我们将会检查您的反馈信息。如果是正确的,我们将在本书的后续版本中采用。 要在网站上找到本书英文版的勘误表,可以登录,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击Book Errata链接。在这个页面上可以查看到Wrox编辑已提交的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是/misc-pages/booklist.shtml。 要与作者和同行讨论,请加入上的P2P论坛。这个论坛是一个基于Web的系统,便于您发布与Wrox图书相关的消息和相关技术,以及与其他读者和技术用户交流心得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给您发送感兴趣的主题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上来探讨问题。 在上,有许多不同的论坛,它们不仅有助于阅读本书,还有助于开发自己的应用程序。要加入论坛,可以遵循下面的步骤: (1) 进入,单击Register链接。 (2) 阅读使用协议,并单击Agree按钮。 (3) 填写加入该论坛所需要的信息和自己希望提供的其他信息,单击Submit按钮。 (4) 您会收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。 注释: 不加入P2P也可以阅读论坛上的消息,但要发布自己的消息,就必须加入该论坛。 加入论坛后,就可以发布新消息和回复其他用户发布的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息,可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标。 关于使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作情况以及P2P和Wrox图书的许多常见问题。要阅读FAQ,可以在任意P2P页面上单击FAQ链接。