世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
在controller层与service层的解耦中,在加了convertor层以后,还是忍不住又加了一层,convertor的层的作用是参数的接收和返回的处理,但是在组合的时候还得在service调用之前先调用convertor的方法,看起来不太好,而且对于比较复杂的转换处理,这种感觉就差了,好像是在controller层将两种方法生硬组合在一起一样,所以使用decorator作为包装器,并且实现的时候并不麻烦,因为只要decorator的接口继承service对应的接口即可,所以代码结构就变成了这样:
controller
decorator
convertor
service
dao
entity
当然,我认为这样做是很有必要的,加了decorator以后,使我的解耦工作有了更大的发挥空间。