LIST 7●MixJuice的代码。程序以“module(模块)”为单位进行描述。而类则由module来分割 为了程序的再利用,即便MixJuice也使用了与类不同的编程单位。这种单位与Ruby一样被称为“模块”。MixJuice语言的开发者--日本产业技术综合研究所的一杉表示:“在基于Java等语言中常见的类的程序设计中,通过多个类的协作实现某一种功能时,类就无法进行再利用。因此应该有一个与类不同的、可以再利用的编程单位”。
LIST 8就是使用基于Java的面向侧面语言“AspectJ”,来描述侧面的源代码。在一个被称为移动图形的程序段中定义了多个类的多个方法。图形的移动结束后,最后执行重新刷新画面的处理过程。 图11●利用“关注”分割“类”的图示。点和线以及他们各自所具有的定位和移动的方法被划分成了相同的关注。该图摘自面向侧面编程的倡导者Gregor Kiczales在面向侧面编程技术研讨会上发表的演讲资料
点击查看大图
LIST 8●利用AspectJ描述侧面的源代码。将用于实现图像移动的各种类中的方法归纳为“move”。“move”结束以后,执行由“after”描述的画面刷新。摘自Gregor Kiczales在面向侧面编程技术研讨会上发表的演讲资料 与面向对象并不矛盾