⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hnxxcxg多层架构设计.txt

📁 f your application uses MFC in a shared DLL, and your application is in a language other than the
💻 TXT
字号:
许多人在开发分布式应用系统时会把许多的程序代码和功能都编写在应用程序服务器之中。因此许多应用

程序服务器的接口中便包含了数十,数百,甚至数千个方法和属性让客户端应用程序使用。比较好一点的

程序员地知道在应用程序服务器中定义不同的接口,然后把方法和属性归类在适当的接口之中让客户端应

用程序使用。但是不管是使用单一接口或是多个接口,这种方法都造成了一个肥大的应用程序服务器,而

且这些方法和属性不是无法重复使用,就是必须付出巨大的代价才能够重复使用。事实上这种设计方法是

不正确的,在应用程序服务器应该使用许多不同的企业对象来共同完成工作,而不是使用一个巨大的对象

做完所有的事情。

分布式应用系统中客户端应用程序不应该像传统的二层结构应用程序一样把所有的工作都编写在客户端的

应用程序之中,而是应该调用中介企业对象提供的服务来完成它需要进行的工作。

应用程序服务器则需要负责许多的工作,从后端数据库中根据客户端的需要来存取数据,执行企业法则,

以及提供客户端需要的服务。

由于应用程序服务器需要进行这么多的工作,所以程序员在设计应用程序服务器时也绝不是把所有的程序

代码写在一起,而是应该经过分析和设计的阶段把这些工作分配在不同功能的对象之中,并且让这些对象

互相的合作来完成客户端的需求。这些对象包括了专门负责存取数据的数据对象,代表实际世界中事物的

对象,例如客户,订单等的实体对象,负责执行企业功能的企业法则对象,提供特别计算或是服务的功能

对象,能及为了让系统平顺动作的控制对象或是协调对象等。在分布式计算环境中这些不同功能的对象都

统称为企业对象。

可以重复使用的企业对象正是面向对象的好处,也是程序员在开发分布式应用系统时应用使用分析/设计/

实现的软件工程方法。

功能对象
程序员可以把以往所谓的公用程序和函数归化为数个功能对象,让其它的程序代码或是企业对象调用,而

不需要让程序员使用COPY AND PASTE的方式让这些程序代码重复的出现在程序代码中。使用功能对象不但

可以在这些功能改变时只需要修改功能对象即可,也可以减少其它应用程序或是企业对象的程序代码大小

数据对象
负责存取数据的工作,最靠近数据库的企业对象,远程数据模块便属于数据对象的范畴。实体对象都是靠

数据对象取得它们的属性,是最常在一起工作的企业对象。

无状态对象
若中介软件不使用无状态对象,那么每一个客户端应用程序都可能需要使用数个企业对象,而且这些企业

对象在客户端应用程序没有结束执行时都无法释放。那么中介软件在服务了一定数量的客户端应用程序之

后就再也无法服务其它的客户端应用程序。无状态对象的属性在使用之后能够立刻的释放给其它的用户使

用,所以在分布式应用系统中客户端应用程序使用的企业对象都是无状态对象,那么中介软件或是应用程

序服务器就可以同时服务的客户端应用程序数目便可以大幅的增加,进而增加分布式应用系统的延展性。

虽然企业对象的观念很简单,但是如何开发良好的企业对象却不是那么简单,这需要经理以及对于使用的

软件技术有深入的了解。如何设计适当的企业对象是非常重要的,如何有效率的让企业对象和客户端应用

程序通讯更是一门需要实务经验的学问。因为不管理论怎么说,程序员最终是需要把分布式应用系统实现

出来的,光有口头上的理论而没有实际的实现技术对于程序员来说是没有用的。

许多程序员几乎把所有程序代码都编写在远程数据模块之中。这会让远程数据模块成为一个large 

grained企业对象,这种结构不但不易维护,其执行效率和延展性都有问题。
就执行效率来说,许多程序员在应用程序服务器(远程数据模块)之中定义了许多输出的方法和属性,然

后让客户端应用程序大量的使用这些方法和属性。但是请各位记得当我们在分布式应用系统中调用远程的

方法时,这比起一般的程序和函数的调用来说是非常缓慢的,而且这种结构让编写客户端程序的程序员了

解了太多中介企业对象的结构,进而降低了企业对象和应用程序服务器的透明性。在是后维护企业对象和

应用程序服务器都会造成负担。

客户端应用程序只需要和应用程序服务器之中特定的协调对象通讯,并且要求协调对象或是控制对象来完

成客户端应用程序需要进行的工作即可,客户端应用程序不需要知道协调对象会使用那些企业对象来共同

完成工作。这样不但有比较好的执行效率,更增加了应用程序服务器的透明性。

上面的讨论的并不是绝对正确的,程序员还是需要根据应用系统的需求来设计系统结构。但是一般来说上

面的讨论的观念和结构是程序员在设计分布式应用系统时应该有的观念和使用的设计方式。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -