1)首先从Presentation, Business, DAO层的角度来看
1.1)异常处理
- Presentation: 表示层需要捕捉异常以便对用户进行适当的提示。例如转账操作中的余额不足等;
- Business:面向过程的开发业务逻辑可以理解为经典的数据结构+算法。面向对象的业务逻辑可以理解为一个复杂模型中的一个动作,在产生异常时需要尽可能的保持原始信息以便分析。
- DAO:记录数据库操作以便查找原因。
1.2)日志
- Presentation:表示层目前一般不写日志;
- Business:此日志记录可以从不同的维度来分析,包括业务Type, time, user等等;
- DAO:主要是异常处理的日志;
2)异常处理与日志都应采用AOP来实现;
3)Transaction(事务)也应采用AOP实现;