posts - 176, comments - 240, trackbacks - 0, articles - 7

[导入]系统设计的“共振”原则

Posted on 2005-11-15 12:35 canonical 阅读(230) 评论(0)  编辑  收藏 所属分类: 设计理论

经常有人说XX技术是面向复杂应用的,对于常规应用如果采用那是得不偿失。我想很多情况下这只是体现了该技术的不适 应性。我主张系统设计应该尽量体现一种共振原则,即系统架构只有一个,但是面向复杂的应用,它表现出复杂的特性,能够辨识精细的概念,而面向简单应用,可 以实现一种优雅的退化(degradation), 对外暴露出一种简单的结构。抽象的说,我们所建立的不是一个孤立的模型,而是一个模型的系列,不是一个绑定应用的solution而是一种 strategy,在每一个复杂性层次上,都存在着对应的解决方案,而不同复杂性层次上的模型之间又存在着清晰的演化路径。这也是我所提出的级列设计理论 的要点之一。

在jsplet框架的设计中,充分体现了这一点。
jsplet中通过如下url格式来访问web应用:
view.jsp?objectName=xxx&objectEvent=yyy&eventTarget=ZZZ
其中objectName的格式规定如下
   
objectScope@objectType$objectInstanceId
在系统的规模较小,不需要对象的生命周期控制的情况下,我们可以将所有对象都放在根路径下/。
在同类型的对象只有一个实例的情况下,我们可以不使用objectInstanceId。
在一个页面对应一个模型对象的情况下,我们可以不使用eventTarget参数。
当页面比较简单的情况下,我们可以直接使用jsp输出页面,而不用使用其它页面模板机制。(采用jsp作为view原因很简单,jsp是标准,它应该成为其它所有第三方模板技术的入口)

为了支持jsplet的url中所体现出的概念,只需要1000行不到的代码,但是随着复杂性的增加,我们可以增加越来越多的功能,这体现在url格式的细化上,但是整体的程序结构并没有发生改变。

只有注册用户登录后才能发表评论。


网站导航: