public abstract class ServiceA<SEAL extends SealServerServiceAbst<F, FPR, FSUP, FGD, FFE, FSTP, FMBF>, F extends ApplyCommon<FPR, FSUP, FGD, FFE, FSTP, FMBF>, FPR extends ApplyPartnerCommon<FMBF>, FSUP extends SubPlanCommon, FGD extends CmContGoodCommon, FFE extends FileCommon, FSTP extends StampCommon, FMBF extends FileCommon, V extends ApplyCommon<VPR, VSUP, VGD, VFE, VSTP, VMBF>, VPR extends ApplyPartnerCommon<VMBF>, VSUP extends SubPlanCommon, VGD extends GoodCommon, VFE extends FileCommon, VSTP extends StampCommon, VMBF extends FileCommon> extends ServiceB< Apply, ApplyMapper> implements TopService<V, VPR, VSUP, VGD, VFE, VSTP, VMBF> { // 一些业务逻辑 } 前几天看到其他人写的一段代码,一眼给我看蒙了。 问了他才知道,因为和前端对接使用了 DTO ,FORM 两种参数类型,然后又和其他模块对接,又使用了一种参数类型。 他呢就把这几个参数抽象成泛型,在定义一个的抽象 service 如上,每种 service 处理不同类型的参数。 按我的理解,不管是前端交互还是给其他服务调用,就算参数不一样,一个 service 也能够进行处理啊。 他这个是不是过度设计了?
