如何规划软件的逻辑层次[2]
逻辑层次之间原则上是由上至下的依赖关系,同一层次内部的对象可以互相依赖。跨越层次的调用也是允许的,比如在UI Process中调用Business对象。UI层和UI Process层之间存在着互相的依赖。开发中我们最希望测试的是这三个层次:business过程、service、business对象。我们只要对下层对象建立stub对象,就可以对这三个层次上的对象进行测试。
对这三个层次的测试结果不仅保证了程序的运行时正确性,也是对程序的业务流程进行测试。在开发过程中和维护过程中,某个业务流程发生了变化,可以用单元测试保证其他流程不会受到危害。这样的构架可以保证迭代开发过程。
和物理层次的结合
上面说的都是系统的逻辑层次。在系统中还存在着另一个层次--物理层次。逻辑层次的目的是简化程序的逻辑复杂度,便于开发和维护;物理层次的实现需要考虑实际的物理分布情况,合理的安排每个物理节点的任务,最大限度提高系统的性能。逻辑层次和物理层次的划分依据和划分目的都是不一样的,他们之间存在着联系,但也不是绝对的。mda.com
逻辑层次和物理层次的结合有两种方式
1、在基础设施层解决掉物理分布的问题,建立一个分布式的对象容器,把business对象和service放到容器中。这样,business对象和service就不必处理复杂的物理分布问题,business过程也不必关心他所调用的对象是在什么位置建立的。这样的方式最大限度的减少了物理结构对程序逻辑结构的影响,增加了物理分布的灵活性。但是在大部分情况下,对系统的效率都是有危害的。
2、在business对象内部处理物理分布的问题,或者制定一个技术无关的接口来体现business对象,在各物理节点编写各自的实现。这样物理层次和逻辑层次是搅在一起的,使系统的逻辑结构显得混乱,但是可以达到较高的运行效率。
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>