2007-03-21

从N层到.NET详细剖析原理

来源: 本站收集整理 作者:佚名 评论 0 条
  摘要:讨论 Microsoft .net 的应用程序设计和所需的更改:检验从使用 Microsoft Windows DNA 构建 N 层应用程序中学到的结构知识,以及如何将这些知识应用到使用 Microsoft .NET 框架构建的应用程序,并且为使用 XML Web Services 的应用程序提供体系结构方面的建议。

  简介

  如今,N 层应用程序已经成为构建企业软件的标准。对于大多数人来说,N 层应用程序就是被分成多个独立的逻辑部分的应用程序。最常见的选择是分为三个部分:表示、业务逻辑和数据,当然还可能存在其他的划分方法。N 层应用程序最初是为了解决与传统的客户端/服务器应用程序相关的问题而出现的,但是,随着 Web 时代的到来,这一体系结构开始成为新开发项目的主流。

  Microsoft Windows? DNA 技术已成为 N 层应用程序的非常成功的基础。Microsoft .NET 框架也为构建 N 层应用程序提供了坚实的平台。然而,。NET 所带来的变化使结构设计人员应当重新考虑他们在 Windows DNA 领域中所学的有关设计 N 层应用程序的某些知识。更重要的是,对内置于 .NET 框架的 XML Web services 的基本支持答应开发人员构建突破传统 N 层方法的新应用程序。要了解如何更好地构建 .NET 应用程序的体系结构,您需要了解这一新领域中发生了哪些变化,以及如何充分利用这些变化。

  本文将对这些问题进行讨论。首先回顾一下在使用 Windows DNA 构建 N 层应用程序中学到的要害体系结构知识。然后,再按同一顺序将这些知识应用到使用 .NET 框架构建应用程序的过程中,从而对它们进行检验。最后一部分对使用 XML Web services 的应用程序的体系结构提供了一些建议。

  Windows DNA 环境

  将应用程序恐解成多个逻辑部分是很有铀的。将一个大软件分成几个小的部分会更利于软件的构建、重复利用和修改,对适应不同的技术或不同典业务组织也很有帮助。同时,还有一些综合因素需要考虑。虽然模块化和重复使用性很有效,但它们可能会导致赢用程序不能象使用其他方法那样安全、易治理和快速。本节将回顾一些从使用 Windows DNA牸际豕菇?N 层应用程序的普遍经验中所获得的基1咎逑到峁怪丁?

  编写业务逻辑

  Windows DNA 应用程序通常使用以下三种实现方式中的一种或多种方式来实现其业务逻辑:

  ●ASP 页

  ●COM 组峻,可能使用 COM 提供的其他服务

  ●在 DBMS 中运行的存储过程

  一般来讲,在 ASP 页中编写过多的业务逻辑并不是一个好办法。因为必须使用简单的语言,例如 Microsoft Visual Basic? Script (VBScript),而且每次执行时都要解释代码,这会对性能造成影响。而且 ASP 页中的代码不好维护,主要是因为业务逻辑通常与创建用户界面的表示代码混合在一起。

  鉴于这种情况,建议在编写中间层业务逻辑时,将业务逻辑当作 COM 对象来实现。这种方法比编写纯粹的 ASP 应用程序要稍微复杂一点,但是可以使用全功能语言来生成编译好的可执行文件,因此其结果要快得多。将业务逻辑包装在 COM 对象中还可以将此代码与包含在 ASP 页中的表示代码完全分隔开来,从而使应用程序更易于维护。

  从 COM 到 COM ,其体系结构相差无几。但是,正如许多 Windows DNA 体系结构设计人员所了解的,除非真正需要,否则不应使用 COM 提供的核心服务,如事务、实时 (JIT) 激活、基于角色的安全性和线程服务等。使用其他开发平台提供的 COM 或类似服务自然会导致应用程序速度更慢、更复杂。只有在以下情况下使用 COM 才有意义:

  ●需要跨越不同资源治理器(如 Microsoft SQL Server? 和 Oracle)的分布式事务。

  ●应用程序可以有效地利用基于角色的安全性。

  ●可以增强 Microsoft Visual Basic? 6.0 的线程操作。
共4页: 上一页 1 [2] [3] [4] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:ASP.NET2.0学习--个性化用户配置  
下一篇:经验之谈:MySQL与ASP.NET配合更强大
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号