Oop 重构遗留代码,用一个小的实现从一个巨大的接口中提取小的接口
我有一大块代码(遗留)知道如何连接到外部服务,比如说连接到skype并带来它的可用性,以及它这样做的方式(为了示例,这就是它的工作方式)。是 (假设示例中所有方法都必须是公共的,并且有人调用它们)。 现在有一段巨大的代码(调用上述所有方法的巨大遗留代码) 现在我需要与skype或其他服务同步,比如说它的Oop 重构遗留代码,用一个小的实现从一个巨大的接口中提取小的接口,oop,refactoring,Oop,Refactoring,我有一大块代码(遗留)知道如何连接到外部服务,比如说连接到skype并带来它的可用性,以及它这样做的方式(为了示例,这就是它的工作方式)。是 (假设示例中所有方法都必须是公共的,并且有人调用它们)。 现在有一段巨大的代码(调用上述所有方法的巨大遗留代码) 现在我需要与skype或其他服务同步,比如说它的Messenger B 然而,对于Messenger B,我不需要init、start、connect等,我只需要updateStatus方法 所以我想到了这个重构(我觉得还不太好,我会解释原因)
Messenger B
然而,对于Messenger B,我不需要init、start、connect等,我只需要updateStatus方法
所以我想到了这个重构(我觉得还不太好,我会解释原因)
Interface: ExternalStatusFetcher
信息技术的方法:
.updateStatus
现在,遗留代码在许多地方调用上述.init.start.stop.connect方法,但是我需要添加的新Messenger Status UpdaterImpl只需要.updateStatus,我想重用skype实现的.updateStatus,因为我想重用代码
因此,我的局限性是:
如果我的容器类拥有一个包含所有方法的接口,这将很好,但是我的第二个实现并不需要所有的方法,所以我有点搞不清楚该怎么做。如果你不想更改调用代码,我会选择:
Messenger B
实现该接口,其中除了updateStatus
之外的所有方法都是无操作的(即,空方法不做任何操作)HTH如果您不想更改呼叫代码,我会选择:
Messenger B
实现该接口,其中除了updateStatus
之外的所有方法都是无操作的(即,空方法不做任何操作).updateStatus