关于异常事务的理解

1.事务的作用

保证你对数据库的操作是一个整体要么都执行成功要么都不执行,保证数据的逻辑统一性,和完整性,假设有数据A/B/C,事务就保证数据A/B/C的状态要么在第有关联的TA/TB/TC状态,要么在SA/SB/SC的逻辑相符态,这些状态不管是中间态还是最终态都是能够接受的,如果是中间态卡住的话, 会有一个检验(对账不一定是对金钱而是对业务)的部分专门处理非终态的业务。如果是终态那么业务正常终止。

事务就是 能够满足你的业务需求 :不允许出现 TA/SB/TC 等这种 不符合你业务逻辑的状态


2.异常处理也类似。

你对所有数据的操作必须是百分百正确,不能有差错,就一个异常就终止程序,

如果你容许99%的正确,其他不正确的可以筛选出来那么,你可以采取异常处理机制。也设定一个对账模块


3.关于循环去做某件事,异常的处理手法:看你容不容许循环中有错误的情况,如果不容许就抛错,后续执行终止,如果容许就继续执行,把错误记录下来。

4.关于 日志处理,日志要能够异步的打出来,同步太影响性能

5.关于重构,第一次写模块之前一定要划分好层,不要怕类多,而要怕分的不够细致,dao service(可以加缓存,抛异常) action

service 不要调用 其他service 要action自己调用, service 最好是比较原子性的操作,封装时要考虑整体处理数据的完备性

6.关于重构之二,一定要用spring 手写单例 工厂 太差劲了! 

你可能感兴趣的:(架构设计)