在代码中构建常见且独特的行为

时间:2009-07-01 21:14:03

标签: oop

我正在设计一个备份应用程序的实用程序。

备份功能将包含要执行的常见任务(公共代码)和一些独特的步骤。通过使用独特行为的界面和所有孩子共同的共同行为的抽象基类,我是在正确的轨道上吗?这种方法有什么缺点吗?还有什么更好的吗?

由于

2 个答案:

答案 0 :(得分:0)

如果基类实际上实现了某些行为,那么我认为它被称为 -abstract基类。

无论如何,我认为这被称为Template method pattern:您可能希望在模式词典中查找(这应该解释何时适当,并引用任何类似的替代模式)。

答案 1 :(得分:0)

我不会使用抽象基类来共享通用功能,而只是表达is-a关系。如果D来自B,无论B在哪里,都可以出现D.这是使用公共继承的标准。

虽然您可以使用私有继承,但您只能从某些语言的某个类派生。

这使我们指出应该是第一个 - 您应该考虑责任并在任何地方封装功能,将接口(或C ++中的纯抽象类)暴露给客户端,并在具体类中实现从中派生出来的功能那些接口。