首页 新闻 会员 周边 捐助

实现接口太多导致类爆炸。。

0
悬赏园豆:10 [已关闭问题] 关闭于 2014-01-17 15:42

某个类连接了许多模块,大概6,7个接口。实现这些模块的接口类就很累赘了,想办法优化。

就好比又要实现新浪微博的接口,腾讯微博的接口,这样6,7个就很多了。

想到了3种方法,部分类,组合,继承。然后我选择了组合。每个接口分成小类去实现,这时候又遇到了小类之间的耦合问题。。。并且产生许多中间类,做的无用功太多,怕走进死胡同。来博客园问一下。。

HONT的主页 HONT | 初学一级 | 园豆:4
提问于:2014-01-16 22:32
< >
分享
所有回答(5)
0

通常 一个类给多个类使用,它一定是基础的共用类,是提供通用的服务,而不是特为某模块实现某些服务的,不然就违背单一原则。

所以应该分别实现各接口,然后给各模块使用,如果是耦合,是不是依赖了具体实现,解决耦合,就必须依赖接口

Yu | 园豆:12990 (专家六级) | 2014-01-17 08:51

是一个类使用多个类,但使用必须实现他们的接口。

支持(0) 反对(0) HONT | 园豆:4 (初学一级) | 2014-01-17 10:08
0

组合+匿名内部类。

这样再多的接口都不怕了

angelshelter | 园豆:9914 (大侠五级) | 2014-01-17 09:47
0

记住:依赖抽象

[秦时明月] | 园豆:738 (小虾三级) | 2014-01-17 10:09
0

把这几个类组合成一个大类,最后返回时用一个泛型接收,返回这个大类

妍珊 | 园豆:1169 (小虾三级) | 2014-01-17 11:30
0

首先确定 你的维度

然后根据维度定出接口

例如 我做过一个功能 及 餐饮刷卡动作功能

有2个维度

一个是 刷卡动作维度:充值,消费,核销

一个是功能维度:及每个动作都固定有3个动作   预览,执行,撤销

那么我就声明一个大类 

叫做交易抽象类 他有3个方法 及 预览,执行,撤销

然后在业务的维度上给予 3个子类继承他 叫做 充值交易,消费交易,核销交易

 

然后这一步 已经将业务分离出来了 

然后具体到底下的动作

每笔操作又分为如下几步:

// 处理数据
// 1.修改用户金币积分
// 2.核销电子券
// 3.添加电子券
// 4.年度积分
// 5.成交记录

 

然后根据每一步然后具体实施

然后进一步分析 消费动作又会触发规则部分 规则又分为 积分规则 金币规则 电子券规则 依次按逻辑 自上而下的抽象

然后就是。。。。。。

 

然后至于抽象的粒度问题,可以一开始不抽象那么细,但是要留出后期重构聚合的口就好,其他的我就不多说了。

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2014-01-17 13:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册