Chinaunix首页 | 论坛 | 博客
  • 博客访问: 523112
  • 博文数量: 694
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4840
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 19:30
文章分类

全部博文(694)

文章存档

2011年(1)

2008年(693)

我的朋友

分类:

2008-10-16 19:50:29

  一、原则

  在选好系统框架和统一开发方针后, 系统构件的开发就应充分利用已有框架所提供的服务和工具。通常构件的开发应遵循以下几条原则:

  1. 系统结构分层,业务与实现分离,逻辑与数据分离

  首先,应用系统按照客户端、Web、应用、数据服务器分层;其次,以上几层分别提炼出客户端浏览器上和Web服务器上的构件,即用户可视化界面构件与应用服务器上的应用逻辑构件。在该层次上特别注意将应用逻辑从数据中分离。理由有:

  应用逻辑变动频繁,特别在当前竞争激烈的市场上,要不断适应用户越来越苛刻的需求。 将应用逻辑独立分离,可即插即用替换构件,让系统易于升级。

  应用逻辑是应用系统的核心,分离出来有利于高质量、高效处理。

  在多层结构应用系统中, 如果应用服务器上所用中间件有变化, 独立分离出来的应用逻辑则不会受到影响。应用逻辑如何独立分离呢? 应该按应用域内功能特性去划分。一般来说,功能代表一组企业活动,对企业活动的执行处理、操作控制、策略规则、限制条件等都属应用逻辑。而对数据处理的构件必须放到数据服务器上。

  如用UML语言和Rose工具时,具体做法是:

  用user case图对应用系统域进行描述。

  对每种user case建立事件流说明, 关注主题事件流功能。它常常是应用逻辑构件的雏形内容。

  用类图、包图找底层和高层逻辑构件。通常,事件控制功能或事务性功能都属于应用逻辑构件的候选构件。在利用已有构件或购买的构件进行组装时,需要编制一些粘合代码,对这些完成粘合定制构件的代码最好也要构件化,尽可能按容器方式构造,以便构成高层上的构件。

  2. 以接口为核心,使用开放标准

  构件设计的目标就是即插即用,写一次,处处可用。达到此目标的关键是构件提供了契约式的接口。它的输入接口代表了环境为它提供的服务,输出接口代表了它为环境提供的服务。构件的输入、输出接口决定了构件之间的连接。为了独立于构件供应商,要用统一标准,应使用开放标准,如CORBA、DCOM、Bean、EJB 等。

  用构件组合定制开发,接口很重要,它是构件之间的契约。一个接口提供一种服务,完成某种逻辑行为。构件接口由两部分组成:一是署名部分,即构件本身提供服务的描述;二是行为部分,即构件行为的描述。一个构件可以有一个或多个接口,在应用系统中,各构件接口必须用统一标准。开发者自已开发的构件,也必须用相同标准来提供API接口。

  3.构件语义的描述要形式化

  构件接口的标准化实质上是构件语义形式化描述措施的一个重要方面。除此以外,还有前置和后续条件定义操作、命名服务中命名和命名上下文标准、目录和目录上下文标准、事务服务描述符、部署描述符等,同时有命名规则、目录和命名绑定规则、事务语义定义、资源分布部署说明等。在不同标准中,它们都有自己的形式化语义规定。如 JNDI提供瘦型目录访问(LDAP),按可区分名字和树形上下文描述,实现用户和对象的查询;在EJB中有会话Bean和实体Bean事务描述符、EJB部署描述符;而在EJB部署描述符顶级元素中,定义了应用程序元数据的容器、EJB 数据结构、装配信息和各种文件名。

  4.提炼封装构件过程要严格记录

  由于构件允许第三方使用,所以要保证第三方用户能正确理解构件设计思想,就必须记录每次提炼的变化。通常,要用版本来管理。在开发构件过程中选用工具时,应注意选有版本管理功能的工具。在整个应用软件中,必须保证版本的一致性。当构件升级后,容器相应地也要升级。

  5.设计模式也可以重用

  CBSD的主要优点之一是重用,它的目标是代码、设计、解决方案都能重用。而设计模式是设计经验的记录,利用它可以达到事半功倍的效果。目前己有几十种设计模式可供参考应用,而用户界面设计的MVC模式就是最常用的一种。

  6.利用开发工具

  由于构件具有自检、持久、依赖于上下文、标准接口等特性,因此通常要利用开发工具来创建构件和应用软件,这些工具如BeanBox、 Jbuilder、 VisualAge for 、 EJBMaker、WebGain Studio、WebGain等提供标准接口的署名和行为描述,并可检验和定制构件属性。

[1]  

【责编:John】

--------------------next---------------------

阅读(326) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~