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的方法,更像是一个用例中需求的解释或者是一个系列图中,从开始到结束的解决方案。