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

关于[面向集合的框架设计]的一些说明

Posted on 2007-12-03 23:54 canonical 阅读(1011) 评论(2)  编辑  收藏 所属分类: 设计理论
    我习惯于概念层的推演,而且所阐述的东西多数是我们创造过程中的副产品,与业内常见的观念实际上是有着很大差异的。有些人感觉我的文章读不明白是因为没有采用类似的视角,或者还没有独立思考过很多问题。如果只是从业内已经熟知的概念出发试图理解我所写的内容,显然是不可能的事情。所以我常说know something already known.

如果在编制一个新的应用,存在大量代码可能是
myFunc(){
  
for each x in set
    doSomethingValuable(x);
  
return packedResult;
}

myOtherFunc(packedResult){
  
for each y in pakedResult
    doSomethingOther(y)
}

其实我们真正关心的是循环内部的某个过程,但是我们经常可以观察到它们被某些通用的或者特定的循环(集合遍历)操作所包围着。Witrix的设计方式是强调业务关注点,而把所有的汇总操作尽量抽象完成。比如现在界面上显示一些字段。从抽象的操作上说
  for each field in dsMeta.viewableFields
    show field.viewer

这一过程在平台代码中实现,它是一个通用的集合操作过程。不同的具体应用只是关心具体字段的展现形式,虽然我们必然需要字段集合,但是它不是我们注意力的重心。
  如果考虑到字段在界面上展示有一个布局问题,我们所要修改的是集合内部的结构方式:
  某种结构循环方式(dsMeta.字段组成的布局集合)
    show field.viewer

抽离出集合,实际上是在最大限度上分离结构问题和内容问题。     
   结构是可抽象的,是具有独立意义的。这就是Witrix所提出的面向结构的设计视角。不是强调对象的所谓业务含义,不是强调某种通用语言(例如ruby)的灵活的语法结构。在这之间存在着厚重的具有物理意义的可以进行结构分析的技术层。http://canonical.javaeye.com/blog/60758  http://canonical.javaeye.com/blog/126467

Feedback

# re: 关于[面向集合的框架设计]的一些说明  回复  更多评论   

2007-12-05 01:38 by 曹晓钢
呼呼,我越来越发现,我的思路和你是很相似的。

SQL的方便,就是因为他给你表操作的便利。我的工具类中也经常出现对Collection中的元素集中进行操作的。

至于说你举的这个layout的例子,更加是非常相似了

# re: 关于[面向集合的框架设计]的一些说明  回复  更多评论   

2007-12-05 22:14 by canonical
在Witrix中我们系统化的应用[面向集合+通用组装规则]的技术手段,大大提高了代码的重用性

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


网站导航: