ITPub博客

首页 > 应用开发 > IT综合 > Websharp使用说明之一(转)

Websharp使用说明之一(转)

原创 IT综合 作者:hphubei 时间:2007-07-08 20:43:50 0 删除 编辑
前言

N层的应用软件系统,由于其众多的优点,已经成为典型的软件系统架构,也已经为广大开发人员所熟知。在一个典型的三层应用软件系统中,应用系统通常被划分成以下三个层次:数据库层、应用服务层和用户界面层。如下图所示:

其中,应用服务层集中了系统的业务逻辑的处理,因此,可以说是应用软件系统中的核心部分。软件系统的健壮性、灵活性、可重用性、可升级性和可维护性,在很大程度上取决于应用服务层的设计。因此,如何构建一个良好架构的应用服务层,是应用软件开发者需要着重解决的问题。

为了使应用服务层的设计达到最好的效果,我们通常还需要对应用服务层作进一步的职能分析和层次细分。细分的结果,是能够使我们更加容易构建应用服务层的内容。

对于应用服务层来说,我们通常需要处理以下几个方面的内容:

Ø 数据的表示方式

Ø 数据的存取方式

Ø 业务逻辑的组织方式

Ø 业务服务的提供方式

Ø 层的部署和层间交互

关于这些方面的讨论,可以参见拙文《面向对象的应用服务层设计》,或者在这里也能够看到同样的文章。

下面,将就这些部分在Websharp中使用进行一些比较详细的说明。

数据实体的表示

Websharp在数据的表现上,能够采用两种方式。

第一种方式,充分利用了.Net Framework类库中DataSet的功能,设计了一个EntityData类。这个类继承了DataSet,并增加了一些属性和方法。同数据库的映射关系,采用XML配置文件的方式。XML配置文件可以通过我们提供的工具来生成。

在实际的应用中,要获取一个Product实体对象,可以通过如下方式取得:

EntityData Product=EntityProtypeManager. GetEmptyEntity(“Product”);

然后,可以通过如下方式来访问这个对象的属性:

string ProductID=Customer[“ProductID”]

可以看到,这种方式同纯粹的面向对象的方式有点不同。在这种方式下,数据的表现形式只有一个,那就是EntityData。其好处是明显的,不用为每个实体都单独编写一个类,能够大大减少代码的编写量。其缺点也很明显,那就是不能利用编译器类型检测的功能,如果在调用对象的属性的时候,写错了属性的名称,就可能出错,但是,这个问题可以通过工具来解决。这种方式,比较符合原来使用ADO编程人员的习惯。

第二种方式,我们可以编写一个Product类,然后,按照标准的OO的方法来使用这个类。只不过,在编写Product类的时候,必须实现PersistenceCapable接口,并且,同时可以使用到EntityData类的强大功能。

PersistenceCapable类的定义见 附1:Websharp主要接口定义——PersistenceCapable

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/79548/viewspace-925356/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    181
  • 访问量
    274758