net分布式编程C#篇

net分布式编程C#篇

ID:39888952

大小:1.40 MB

页数:154页

时间:2019-07-14

net分布式编程C#篇_第1页
net分布式编程C#篇_第2页
net分布式编程C#篇_第3页
net分布式编程C#篇_第4页
net分布式编程C#篇_第5页
资源描述:

《net分布式编程C#篇》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、.NET分布式编程——C#篇今天,诸如企业编程、分布式编程、n层和可扩展性等流行词汇出现在每一个产品的宣传中。所以,要抓住.NET中分布式开发的细微区别,就不能从字面上考虑这些术语,而应该考虑这些特殊词汇的真实含义和上下文环境。而且,由于这本书主要是一本“操作指南”,所以,清楚地理解为什么要分布应用程序以及如何设计一个分布式应用是非常重要的。在本章结尾提出了五项原则,它们可以指导您在.NET平台及其他平台上进行分布式开发。最后,为了了解分布式编程的历史,本章回顾了原有的分布式开发模型,以及这些旧模型被新模型取代的原因。如同您将要看到的,要解释清楚为什么

2、微软创造出新的开发平台.NET来取代COM需要花费很长时间。1.1分布式编程概述什么是分布式编程?现在几乎很少有人再敢问这个问题。这个术语现在是如此普及,以至于去询问它的含义会让人觉得非常尴尬。而其他人则认为没有必要再去询问这个术语的含义。当我在按照惯例让学生定义分布式编程时,却很少能得到相同的答案。分布式编程的特点是让几个物理上独立的组件作为一个单独的系统协同工作。在这里,“物理上独立的组件”可能指多个CPU,或者更普遍的是指网络中的多台计算机。分布式编程可用于解决很多类型的问题,从预测天气到购买图书。作为分布式编程的核心,它做了如下的假定:如果一台

3、计算机能够在5秒钟内完成一项任务,那么5台计算机以并行的方式一起工作时就能在1秒钟内完成一项任务。当然,分布式编程不会如此简单。问题就在于“以并行方式协同工作”,很难让网络中的5台计算机高效协作。实际上,要达到如此高效,应用软件必须经过特殊设计。对此可以举一个只有一匹马拉车的例子。马是强大的动物,但是从力量与重量之比来说,蚂蚁要比马强壮很多倍(这里仅假设强壮10倍)。这样,如果聚集了与一匹马质量相同的一堆蚂蚁并利用它们来工作,则可以拉动10倍于一匹马所能拉的物质。这是一个非常好的分布负载示例。这种计算是合理的,但让数百万的蚂蚁身上都套着细小的缰绳去拉动

4、货物却是不现实的。1.1.1应用程序的分层通过马与蚂蚁的类比说明,分布式计算提出几台计算机协同工作的问题。这也是将应用程序分解为几个可被分布式处理的任务的问题。幸运的是,我们可以利用从以前的应用程序中学到的知识。经过这些年的发展,可以清楚地了解到大多数业务应用程序是由3个主要逻辑部分构成:表示逻辑,业务逻辑和数据源逻辑。●表示逻辑。表示逻辑是应用程序的一部分,终端用户可以通过它输入订单、查找用户信息和查看业务报表。对于用户来说,这部分逻辑就是应用程序。●业务逻辑。这部分是应用程序的中心,开发人员将在这里花费大部分的时间和精力。它包括定义业务运行方式的业

5、务规则。例如,业务逻辑规定客户何时收到折扣、如何计算运费以及订单上所必需的信息。●数据源逻辑。这部分逻辑用于保存将来可能用到的订单、客户信息以及其他一些信息。幸运的是,SQLServer和Oracle等数据库产品会实现大部分工作。不过您仍然需要设计数据层以及检索数据所使用的查询。设计任何商业应用程序的首要之处是将应用程序的各个部分逻辑划分为不同的层次。换句话说,不能将业务逻辑代码与表示逻辑代码混在一起。然而,不要想当然地认为每一层必须运行在单独的机器上或单独的进程中。除此之外,每一层的代码只能通过定义良好的界面与另一层的代码进行交互。典型的情况是在独立

6、的代码库(DLLs)中从物理上实现某些层。1.1.2分布式设计的5个原则分层结构允许在不影响其他层的情况下修改某一层的实现。同时,它也允许将来从物理上灵活地分隔各个层。但是,正如下面紧接着的部分中所述,不应该轻易决定在独立进程或机器上执行每一层。如果您决定对某一层进行分布处理,那么必须对它进行特殊的分布设计。令人迷惑的是,某些设计策略实际上与传统的面向对象原则相矛盾。为弄清这些问题,这一部分阐述了几项用于有效分布应用程序的原则以及使用这些原则的理由。原则1:保守分布对于分布式编程的书籍来说,这个原则看起来让人有些惊奇。然而,这项原则却是基于计算中一个简

7、单且不可否认的事实:调用不同进程上对象的方法要比调用进程内对象的方法慢数百倍;将对象移动到网络中的另一台计算机上,这种方法调用又会慢数十倍。那什么时候才应当进行分布式处理呢?以前的观点是只有必须进行分布时才这样做。但是您可能想了解更多的细节,所以让我们从数据层开始考虑几个示例。通常,应用的数据库运行在独立的专用服务器上——换句话说,它相对于其他层是分布式的。这样做有几个很好的理由:●数据库软件复杂而昂贵,而且通常需要高性能的硬件,所以分布数据库软件的多个副本将导致开销太大。●数据库可包含和关联由许多应用程序共享的数据。但是,只有当每个应用程序正在访问单

8、独的数据库服务器而不是自己的本地副本时,这种情况才可能发生。●数据库被设计为运行在独立的物理层

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。