拆分过程,提取方法再抽象

闲言碎语不要讲,直接写
比如A B两张表,字段不一样,存储的结果一样,但是另一张表有些特殊处理,比如A表为空,B表则存为特殊默认值,A表的时间,在B表示特殊字符串


分析
首先想到的应该是适配器方式--
手机充电需要5v电压,但是现在数据是220v,但现在不是调用的转换,是需要数据转换,把A表数据全部同步到B表,不是接口的问题是数据格式不匹配的问题.

那么转换方式是重点了,为了达到重用性,把相关过程拆分出来,形成策略.统一的处理方式在顶层封装,模板方式必选

那么转换这两张表,直接写就ok,里面包含了
1.从A表取数据
2.把A表数据数据进行特殊处理
3.在插入B表中
如果需求发生变化,比如默认值现在要重新修改,比如一些特殊的类型要进行处理,B表字段名称改变怎么样,换个人来改怎么样,时间流逝再改怎么样.
打开这个方法改就可以了,但是他要读懂你的过程,甚至他觉得不爽,直接重新写,反正也不难嘛.

如果拆分抽取在抽象,会是怎么样呢?
一:这个大过程,被拆分成了四个方法
1.获取A表数据集
2.A表与B表字段对应处理,返回对应结果集
3.A表数据特殊处理(在额外写一个map,封装默认值处理)
4.一个总方法负责组合前三个方法
二:写一个抽象类
上面的前三个方法抽象,第四个方法实现.负责总的调用,好吧,就叫模板方法模式吧,其实这个不重要

代码反应设计,充当文档,反应了详细的流程是可以的,这就是我感觉的敏捷之一,首先必须代码容易读懂,经得起变化,这个变化是人员流失,需求改变

猜你喜欢

转载自blognojava.iteye.com/blog/1499508