Java:从AOP之滥觞说起设计师的职责

 

从表面上来看,AOP是个好东西,但是仔细看,发现不是那么美。

 

AOP的不当使用,使代码失去主线索,成为“方面”的分割。而主线索代表了一个产品代码中所围绕的主要概念。

“方面”应该是为“线索”和“流程”服务的,在AOP之前的编程范式中,流程会调用好多基础包完成自己的流程,而AOP之后,无须再调用,自动织入。

其实想想,AOP的织入和普通用的模板模式何其相似,模板模式用的好,效果也非常接近AOP了。你说“业务过程无须再考虑日志的记录,所以日志做成单独的方面比较好”,但是为什么日志不是业务过程要考虑的?什么时候记日志,记什么内容,当然且理所当然是业务要考虑要设计的,这是我的理解,和现代AOP架构部一致的地方。

作为一个设计者,你的每个业务流程,考虑参数检查否?考虑权限判断否?考虑数据库交互否?考虑记日志否?当然都应该考虑,这是完整的过程。可以由上层设计师做成模板模式,由代码实现者只做数据库交互就可以,但是设计上是有全流程的设计的。

那么,如果只对无关紧要的部分使用AOP是否可以?当然是可以的,但是既然已经无关紧要,那么用不用什么心的架构,意义和价值都不大了。

另外,之前的设计过程,某一个业务流程出现错误,只需找特定的一个或几个人负责,现在一个业务涉及到整合的若干个方面,出错了再也要找更多的人来处理,这是小事,但是很烦。

 

从另外一个角度说,你是设计师,你不能总是嫌业务复杂和繁琐,因为这是必然要面对的,逃避不是办法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值