一个导出功能,不同的请求导出来的东西不一样。
但是很大一部分都是相同的公用的。
大致是这样的
白色的是每个导出项独有的,黑色的公用的
解决方案1
将公共的抽出来做util,但是因为我们公用的代码比较零散,单独需求的代码在中间,这种方案不太方便。
解决方案2
动态代理,每个导出项都去写自己的方法,用AOP方案代理黑色公共部分。
解决方案3
每个导出项都继承一个抽象类并实现一个共同的接口
接口里面要求必须实现的是公共方法 这部分方法由抽象类去实现(父亲的就是自己的 所以自己不用实现了 调用就行)
抽象类里面有一个抽象方法 是每个导出项类必须实现的独立代码部分(这部分是个子子类必须实现的)
公共代码方法{ ……………… 这里面调用抽象类的抽象方法。因为进来的时候 是各个子类调用自己的公共方法(继承抽象类的),所以这里的调用自己的抽象方法自然就是调用的自己子类的方法实现。 ……………… }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)