【问题标题】:What types of abstract interfaces are most common in practice什么类型的抽象接口在实践中最常见
【发布时间】:2011-03-17 05:11:40
【问题描述】:

我不完全确定如何在标题中表达我想问的内容,因此我将尝试在下文中更好地阐明它。

对于 C++ 软件库开发人员,您发现自己经常在项目/工作之间重写哪些抽象接口?例如,我想不同的项目为“打印”对象和基于该项目的要求序列化对象编写抽象接口是相当普遍的做法(即使它们是根据其他已建立的库来实现的,这些库提供了很多这样的功能)。您对此有何经验?

如果问题太模糊,请随时推荐如何澄清它。

【问题讨论】:

  • 您是指一般类中的“抽象”还是“包含virtual 方法”中的“抽象”?
  • 这个问题在某种意义上是笼统的,但我试图让它更具体。我的意思是对于 C++ 软件库开发人员,他们注意到他们在项目之间多次编写的抽象基类是什么。可以包含内部状态但主要以纯虚方法为特征的类。

标签: c++ interface abstract-class abstract


【解决方案1】:

在某些情况下,这取决于您正在开发的内容。这是一个简短的列表:

克隆、创建(工厂方法)、序列化、线程化、中介、观察。

【讨论】:

    【解决方案2】:

    我不知道这个问题是否特定于 c++。似乎是一个一般的编程问题。我发现即使我做 JS 编码,我仍然使用抽象概念。

    我认为最简单的答案是,只要对不同类型执行相同的操作集,就使用抽象类。抽象方法填充特定实现的细节,其他方法提供框架,即“相同的操作集”。

    作为 java 开发人员,使用抽象模式进行 DAO CRUD 操作是很常见的。它总是一样的,唯一不同的是类型......

    【讨论】:

    • 我不熟悉 Javascript 或其常见模式。我试图弄清楚的是标准 C++ 没有很好地涵盖通用编程的哪些方面,因此需要不断地重新发明类似的抽象接口模式。
    猜你喜欢
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2018-07-19
    • 2020-09-03
    • 2020-05-14
    • 2012-10-19
    • 1970-01-01
    相关资源
    最近更新 更多