为了账号安全,请及时绑定邮箱和手机立即绑定

几乎每个方法都写<T extends Entity>不会是很繁琐吗?

是不是可以把重复的内容写到类的定义中?如:

public interface PesistenceService<T extneds Entity> {

        ...............

}

正在回答

2 回答

这个地方确实是有点重复了。当时的想法是,对于不同类型的Entity,可以允许有不同的实现,比如下面这样的实现:

class Entity1PersistenceService implements PersistenceService<Entity1>

不过最后也没有写成这样。

其实这里的问题可以更深入的说一下,PesistenceService作为存储服务,其实有2个维度:一个维度是存储服务的实现机制,比如文件系统的,数据库的;另一个维度是Entity实体的,课程实体,学生实体等等。两个维度可以交叉。比如在实现中,理论上我们可以把学生实体保存在文件中,而把课程实体保存到数据库中。虽然这样做没什么必要。

具体到实例代码中,由于我们对所有的实体都采用了文件存储方式,PersistenceService上的泛型声明,就显得有些多余了。不过最初的设计初衷是我上面所提到的了。

0 回复 有任何疑惑可以回复我~
#1

taoy 提问者

非常感谢!代码构建与实现的想法和实现牛!
2018-06-23 回复 有任何疑惑可以回复我~

可以去掉重复内容

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

几乎每个方法都写<T extends Entity>不会是很繁琐吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信