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

[导入]AOP与结构

Posted on 2005-11-14 15:37 canonical 阅读(277) 评论(0)  编辑  收藏 所属分类: 设计理论
 函数封装可以看作是对语句流中的一个区间(range)的抽象(基本等价于一个点抽象),而AOP (Aspect Oriented Programming)则定义了一维线性结构(程序文本)中的区间的边(boundary)。在未有aop之前为了定义这种boundary, 我们往往不得不借助于继承技术,通过在基类(base class)中预先定义所需的结构来打破函数的原子性。例如
class BaseClass{
   public void doSomething(){
       before();
       reallyDo():
       after();
   }

   protected void before(){}
   protected void after(){}
}

class ExtClass extends BaseClass{
   protected void before(){
       ....
   }
}

根据拓扑学(topology),二维情况下最重要的拓扑结构是所谓的环(loop)。例如,在界面上我们经常将各种不同的内容放置在某一类固定的边框中,一种好的界面技术应该能够将这种边框独立的抽象出来。在witrix平台的tpl模板语言中,我们通过bodyTag可以轻易的实现这一抽象。
<app:普通消息边框>
<input type="text" value="name" />
...
</app:普通消息边框>
这种抽象其实已经超出了AOP的范畴。


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


网站导航: