【问题标题】:Dbus glib interface design and usageDbus glib 接口设计与使用
【发布时间】:2013-05-13 12:16:12
【问题描述】:

在我们的项目中,我们使用 dbus 进行进程间通信。我们有一个接口,所有需要暴露给其他进程的方法都绑定在一起。这只是所有方法的一个接口。这是个好主意吗?将方法分组到不同的接口是否更好?我们有大约 50 种方法。我不熟悉面向对象的语言。但我觉得将它们分组到不同的界面会更好。

在不同接口下拆分方法有什么好处?我需要一些理由来对不同接口下的方法进行分组。

请注意,dbus 具有自动代码生成器,当 xml 作为输入时,它会生成必要的类和方法。

【问题讨论】:

    标签: c object dbus


    【解决方案1】:

    从面向对象的角度来看,最好根据含义将消息分组到不同的接口中。对于像 pidgin 这样的即时通讯软件,您可以:

    • MyIPC 接口
      • accountCreate(...)
      • accountList(...)
      • accountRemove(...)
      • messageSend(...)
      • messageReceived(...) * 信号
      • statusChange(....)
      • statusChanged(...) * 信号

    但更好的选择是根据其含义将其分成不同的接口:

    • AccountManagerInterface

      • 创建(...)
      • 列表(...)
      • 删除(...)
    • 账户界面

      • sendMessage(...)
      • messageReceived(...) * 信号
      • statusChange(...)
      • statusChanged(...) * 信号

    当然,还有很多其他的设计方法,但要点是,当您收到 AccountInterface 对象的“messageReceived”信号时,您知道哪个帐户“对象”收到了信号,这比您分离要好谁应该管理帐户,谁应该管理帐户对象的问题。

    对此还有很多话要说,但我希望这可能有助于澄清......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-31
      • 2015-05-11
      • 1970-01-01
      • 2014-04-07
      • 2023-03-22
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多