2010年01月21日 10:25 "banq"的内容

如果把程序员和用户看成是软件的两个端,程序员这端要把需求尽量细分,拆开来,讲究重用,变成一盘散沙,而到用户那个端,要按照需求将这些散沙组合成他们需求要求的建筑功能,以便他们能够使用这个软件。

奥妙和学问就在程序员和用户这两端之间过程,也是目前软件语言平台发展目标所在吧。

谢谢banq老师的回复,虽然我还没体会到java静态混合器的功力。
我很认同老师说的程序员要把需求尽量细分拆开,讲究重用这一观点。像我现在所在的项目--建行的项目,都使用了建行指定的sup--与普元合作开发的一个其于Eclipse的IED。这个sup在建完工程就自动为我们设计了三个层:
UCC(use case controler)、BS(business service)还有DAO,我本人觉得有点DDD的味道了,但是多数人对其的应用都是比较混乱的:
UCC只是BS代理,在BS里写了一堆的大方法,一个方法作了好多的操作,然后再通过BS去调用DAO;本人就认为这些做法都不是很合理,这样的粒度就不够细,导致BS的基本不能达到重用。而每个BS的方法,更像是一个用例中需求的解释或者是一个系列图中,从开始到结束的解决方案。

2010年01月24日 18:02 "javaonejcy"的内容
如何能做到class或function级别的组合呢?做到这点更难吧。如果说最靠谱的,还是完整的服务的重用,而这样的重用就与重用的愿景差得有点远了

说的比较有道理,SOA的服务重用已经成熟多年,但是可控性差,以至于呀出现SOA管治,大凡技术力不从心的,都是寄希望于软件管理,所以,从这个侧面也可以看出其技术的不足。

而class + functional结合是一个方便可控的路径,正在探索,值得一试。

A Postfunctional Language