界面/模式等

时间:2013-11-20 04:14:32

标签: design-patterns architecture interface

我需要了解如何使用接口,以便将实现类中的常用方法组合在一起。

显而易见的方法是使用一个实现接口的抽象类和从该类继承的子类。这不会违反编程到界面的整个概念吗?

1 个答案:

答案 0 :(得分:1)

接口是与您的客户签订的合同。您提供某些功能。客户端只考虑接口,并且不需要对您的类或类如何实现该接口感兴趣。

Abstract类,是一种实现技术,允许您从接口的实现中重构一些公共代码。因为这不妨碍界面的使用,所以没有违规。

您可以使用工厂模式隐藏用户的实施细节:

 Interface myWorker = TheFactory.make( {some expression of the client's needs } );

所有客户看到的都是工厂和界面。

So Interface适用于客户端,Abstract类适用于实现者。