基于.Net Framework的N层分布式应用开发[1] 软件工程 390 days ago Read More
一、分布式处理概述
分布式处理是将应用程序逻辑分布到2台或者更多台计算机上,在物理上或逻辑上分离的单元中。这一概念并不是新生事物,在大型工程已经得到广泛使用。只不过,Internet的出现为分布式处理赋予了新的特征,Internet内部连接的特性可以让成百上千的计算机为一个任务工作,使得在更大规模上实施分布式处理成为可能,并跨越了传统的B/S(客户机/服务器)模型。
分布式处理...
基于.Net Framework的N层分布式应用开发[2] 软件工程 390 days ago Read More
三、基于.Net Framework的N层构架设计
面向对象的、基于模块化的组件设计需要能够方便地修改应用程序的各个部分。完成这一目标的一种好方法就是在层上工作,将一个应用程序的主要功能分离到不同的层或者级中。.Net Framework为创建可维护、可扩展的层模式提供了丰富的支持,使得N层够架取代传统的客户机/服务器模式而与Internet紧密结合。
1、分层模型
从本...
基于.Net Framework的N层分布式应用开发[3] 软件工程 390 days ago Read More
4)、设计一个更加现实的N层
一般地,我们使用一个或者多个分离的服务器来维持我们正在使用的数据存储,这时,商务逻辑的分布更为分散。下图显示了由两个网络分离的三个机器。可以看出,现在的商务逻辑被分为三个区:一些将和数据存储运行在同一台服务器上,另一些将在中间层服务器上运行,还有一些将在客户机上运行。
由此可以看到,准确定义各个层并不容易。"中间层"的真正意思是商务逻辑本身,并且...
基于.Net Framework的N层分布式应用开发[4] 软件工程 390 days ago Read More
四、N层分布式数据处理架构模型
要进一步理解怎样在应用程序中划分不同的层,需要确定数据如何显示以及是否需要更新数据和向服务器及时返回更新。
1、全部在服务器上完成显示
在客户机上显示数据,最常见的情形是在一组或者多组服务器上执行所有的数据处理。数据层和中间层限于服务器,客户机只提供显示接口。对于一个web浏览器来说,通常的格式为html,对于一个蜂窝式电话或类似设备来说,...
基于.Net Framework的N层分布式应用开发[5] 软件工程 390 days ago Read More
利用"胖客户机"来实现这种架构的方法,其中数据在客户机上进行处理,然后经整理后返回给服务器来更新原始的数据存储。 仍然地,这不是一个包含所有可能性的图表。回送数据的方法或许和发送数据的方法没有什么联系。你应该根据应用程序的实际需求设计合适的模型。
五、结束语
建立可维护、可扩展的站点,开发高效率、高伸缩性的应用程序、实现跨平台、跨Internet的应用集成、创建N层分布式应用...
对.NET Framework 反射的反思[1] 程序开发 390 days ago Read More
清晰的组件化目标是否因在库间共享过多类型信息而落空?或许您需要高效的强类型化数据存储,但如果每次对象模型发展后都需要更新您的数据库架构,那会耗费很大成本,所以您更愿意在运行时推断出其类型架构吗?您需要交付能接受任意用户对象的组件,并以某种智能化的方式处理它们吗?您希望库的调方者能以编程方式向您说明它们的类型吗?
如果您发现自己在苦苦维持强类型化数据结构的同时,又冀望于最大化运行时灵活性,...
对.NET Framework 反射的反思[2] 程序开发 390 days ago Read More
另一种完全不同的情况是,解释性编程语言总是通过主进程获得执行(脚本语言通常属于此类)。由于程序的完整定义是可用的(作为输入源代码),并跟完整的语言实现结合在一起(作为解释器本身),因此所有支持自我分析所需的技术都到位了。这种动态语言频繁地提供全面反射功能,以及一组用于动态分析和操作程序的丰富工具。
.NET Framework CLR 和它的承载语言如 C# 属于中间形态。编译器用来把...
对.NET Framework 反射的反思[3] 程序开发 390 days ago Read More
动态调用代码
迄今为止,我已经获得运行时对象的句柄(如类型和方法),仅作描述用,例如输出它们的名称。但是如何做得更多呢?如何实际调用某个方法呢?
此例的几个要点是:首先,从一个 MyClass, mc1 实例检索一个 System.Type 实例,然后,从该类型检索一个 MethodInfo 实例。最后,当调用 MethodInfo 时,通过把它作为调用的第一个参数来传递,将其绑定到另...
对.NET Framework 反射的反思[4] 程序开发 390 days ago Read More
如果事先完全了解需要转换的正式数据类型(例如自己编写代码时),事情就变得非常简单:
foreach(Address a in AddressList){Console.WriteLine(“Address:{0}”, a.ID);Console.WriteLine(“\tStreet:{0}”, a.Street);... // and so on}然而,如果预先不知道在运行时会遇到的数...
让.Net 程序脱离.net framework框架运行 程序开发 390 days ago Read More
Net框架目前逐步在普及了,仍然有很多人在寻找如何让.NET程序脱离.NET框架的方法。现成的工具有 Xenocode 的postbuidle或者vas,还有 Salamander .NET Linker。
另外还有 MaxToCode 作者以前做的 framework linker. 以及一些支持注册表模拟和文件模拟的打包工具molebox,thinstall等。最后还有某网友兜售的一...