Krzysztof Czarnecki 的论文:Generative Programming 系统的总结了AOP的来龙去脉。AOP,更像是一项通过心理学的理论研究,得出的改进了的人类实践工具,而不单纯是技术上的突破。我的这种感受来自于以下几点:
1。从纯技术的角度来说,AOP的编译器ACJ,使用了无结构的解析器,即无需分析代码树,得出交接点。这种技术,应该是对于正则表达式技术的扩展,或者是定制。其他方面和现行的编译技术并没有太大的区别。
2。AOP 是对OO的一种扩展。AOP 中提供的+符号,表示被修饰的类和其子类就是一个证明。它将OO这种方法论进行了扩展,提供了更接近于常人思考逻辑的符号系统,目的是使得人们能更好的表达自己的想法(从而更高效的操纵机械)。可是正如人类思维的漫无边际,AOP 也使得计算机语言表述的内容变得充满想象力和松散。系统的初始设计者,设计了一整套严密的逻辑,使得程序按照预定轨迹运行,而AOP可以轻易改变程序运行轨迹,将原有系统改得面目全非。获得更大自由的同时,也应该承担更多责任。
现状:
当AOP的巨大力量得不到有效管理的时候,大家选择了暂不使用。如一个原本进行高强度权限控制的系统可以被AOP轻易绕过时,一部分人就会遭受巨大损失。
Monday, June 18, 2007
Saturday, June 16, 2007
safari??!!!
Friday, June 1, 2007
改用中文
使用英文每天记录blog,是一件实在坚持不下去的工作。从今天开始,我停止折磨自己了。
另外,今天装了上海电信的灵易通业务。发现:越是不灵的东西,越要宣传——上网相当的难通啊。营销确实很有力量。
灵易通,包月59元,带有小灵通的电话功能。通过msn传递文件,同时打开任务管理器,发现实际最大带宽是115k*67% = 77.5k。不知道115k是什么指标,我又回到了用猫拨号上网的年代。使用IE或者firefox浏览网络,觉得对这样的带宽是不是损耗太大了?于是几经周折,安装了windows版本的lynx。可是firefox真的会损耗带宽吗?有源代码,我可以考证一下。
安装完灵易通业务,回到办公室,发现大家有点歇斯底里。股票闹得?我对目前的工作比较满意,不过公司有很多资源还没有用上,学习中。
读了booch的blog,大师说软件系统扩大了,用电量和体积也变成了系统设计的一部分。他用了google做例子,google的服务器也是成栋楼的摆放,而且要靠近河边,利于散热。。。国外的软件的体量已经达到了这个地步了阿。目前的软硬件技术需要提高的地方还是很多阿。
大家都在说儿童节,还有7分钟就6.2了。祝妹妹节日快乐 :)
另外,今天装了上海电信的灵易通业务。发现:越是不灵的东西,越要宣传——上网相当的难通啊。营销确实很有力量。
灵易通,包月59元,带有小灵通的电话功能。通过msn传递文件,同时打开任务管理器,发现实际最大带宽是115k*67% = 77.5k。不知道115k是什么指标,我又回到了用猫拨号上网的年代。使用IE或者firefox浏览网络,觉得对这样的带宽是不是损耗太大了?于是几经周折,安装了windows版本的lynx。可是firefox真的会损耗带宽吗?有源代码,我可以考证一下。
安装完灵易通业务,回到办公室,发现大家有点歇斯底里。股票闹得?我对目前的工作比较满意,不过公司有很多资源还没有用上,学习中。
读了booch的blog,大师说软件系统扩大了,用电量和体积也变成了系统设计的一部分。他用了google做例子,google的服务器也是成栋楼的摆放,而且要靠近河边,利于散热。。。国外的软件的体量已经达到了这个地步了阿。目前的软硬件技术需要提高的地方还是很多阿。
大家都在说儿童节,还有7分钟就6.2了。祝妹妹节日快乐 :)
Wednesday, May 30, 2007
PersistenceDeleagate - alternative to persistent
PersistenceDeleagate is an another solution for persistent. This technique has two advantages:
1. Persistence function is separated to the third-party - the PersistenceDelegate, but not the object itself. This way, the deserialized form is no longer an integrated part of object public interface.
2. If developer is not owner of some class, he/she still can easily persist instances of the class.
The hard part is, some developer tend not to provide corresponding delegater, which make the default one hard to implement
1. Persistence function is separated to the third-party - the PersistenceDelegate, but not the object itself. This way, the deserialized form is no longer an integrated part of object public interface.
2. If developer is not owner of some class, he/she still can easily persist instances of the class.
The hard part is, some developer tend not to provide corresponding delegater, which make the default one hard to implement
Tuesday, May 29, 2007
Legend of Mainframe
The ancestor of mainframe computer are IBM 705 & IBM 1401. They respectively born in 1954 and the last year of the fifties of last century. These two machines are primarily now served as central data repository.
Then comes system 360 (s/360) - The third generation computer. It is the first general purpose computer. At this time, manufactures tended to standardize the HW & SW they offered to customers.
Then comes system 360 (s/360) - The third generation computer. It is the first general purpose computer. At this time, manufactures tended to standardize the HW & SW they offered to customers.
Friday, May 18, 2007
ls -t
ls -t sort files according to last modification date in descending order which is handy when finding out the latest modified files.
Subscribe to:
Posts (Atom)
