0

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

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

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

4

1 回答 1

1

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

  • MyIPC接口
    • 帐户创建(...)
    • 帐户列表(...)
    • 帐户删除(...)
    • 消息发送(...)
    • messageReceived(...) * 信号
    • 状态改变(....)
    • statusChanged(...) * 信号

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

  • AccountManager界面

    • 创造(...)
    • 列表(...)
    • 消除(...)
  • 账户界面

    • 发信息(...)
    • messageReceived(...) * 信号
    • 状态改变(...)
    • statusChanged(...) * 信号

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

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

于 2013-07-03T11:04:19.323 回答