软件正交架构

来源:互联网 发布:重庆时时开奖软件 编辑:程序博客网 时间:2024/06/04 20:09

        如果你想要制作易于设计、构建、测试及扩展的系统,正交性是一个十分关键的概念,一旦你学会了直接应用正交性原则,你将发现,你制作的系统的质量立刻就得到了提高。

        “正交性”是从几何学中借来的术语。如果两条直线相交成直角,它们就是正交的,用向量术语说,这两条直线互不依赖。沿着某一条直线移动,你投影到另一条直线上的位置不变。
        在计算技术中,该术语用于表示某种不相依赖性或是解耦性。如果两个或更多事物中的一个发生变化,不会影响其他事物,这些事物就是正交的。在设计良好的系统中,数据库代码与用户界面是正交的:你可以改动界面,而不影响数据库;更换数据库,而不用改动界面。

        正交架构由组织层和线索的构件构成。层是由一组具有相同抽象级别的构件构成。线索是子系统的特例,它是由完成不同层次功能的构件组成(通过相互调用来关联),每一条线索完成整个系统中相对独立的一部分功能。每一条线索的实现与其他线索的实现无关或关联很少,在同一层中的构件之间是不存在相互调用的。

  如果线索是相互独立的,即不同线索中的构件之间没有相互调用,那么这个结构就是完全正交的。从以上定义,我们可以看出,正交架构是一种以垂直线索构件族为基础的层次化结构,其基本思想是把应用系统的结构按功能的正交相关性,垂直分割为若干个线索(子系统),线索又分为几个层次,每个线索由多个具有不同层次功能和不同抽象级别的构件构成。各线索的相同层次的构件具有相同的抽象级别。因此,我们可以归纳正交架构的主要特征如下:

  (1)正交架构由完成不同功能的n(n > 1)个线索(子系统)组成;

  (2)系统具有m(m > 1)个不同抽象级别的层;

  (3)线索之间是相互独立的(正交的);

  (4)系统有一个公共驱动层(一般为最高层)和公共数据结构(一般为最低层)。

  对于大型的和复杂的软件系统,其子线索(一级子线索)还可以划分为更低一级的子线索(二级子线索),形成多级正交结构。

  在软件进化过程中,系统需求会不断发生变化。在正交架构中,因线索的正交性,每一个需求变动仅影响某一条线索,而不会涉及到其他线索。这样,就把软件需求的变动局部化了,产生的影响也被限制在一定范围内,因此实现容易。

  正交架构具有以下优点:

  (1)结构清晰,易于理解。正交架构的形式有利于理解。由于线索功能相互独立,不进行互相调用,结构简单、清晰,构件在结构图中的位置已经说明它所实现的是哪一级抽象,担负的是什么功能。

  (2)易修改,可维护性强。由于线索之间是相互独立的,所以对一个线索的修改不会影响到其他线索。因此,当软件需求发生变化时,可以将新需求分解为独立的子需求,然后以线索和其中的构件为主要对象分别对各个子需求进行处理,这样软件修改就很容易实现。系统功能的增加或减少,只需相应的增删线索构件族,而不影响整个正交体系结构,因此能方便地实现结构调整。

  (3)可移植性强,重用粒度大。因为正交结构可以为一个领域内的所有应用程序所共享,这些软件有着相同或类似的层次和线索,可以实现体系结构级的重用。


0 0
原创粉丝点击