在我们的项目中,我们使用 dbus 进行进程间通信。我们有一个接口,所有需要暴露给其他进程的方法都绑定在一起。这只是所有方法的一个接口。这是个好主意吗?将方法分组到不同的接口是否更好?我们有大约 50 种方法。我不熟悉面向对象的语言。但我觉得将它们分组到不同的界面会更好。
在不同接口下拆分方法有什么好处?我需要一些理由来对不同接口下的方法进行分组。
请注意,dbus 具有自动代码生成器,当 xml 作为输入时,它会生成必要的类和方法。
从面向对象的角度来看,最好根据它们的含义在不同的接口中对消息进行分组。对于像 pidgin 这样的即时通讯软件,您可以:
但更好的选择是根据其含义将其分成不同的接口:
AccountManager界面
账户界面
当然,还有很多其他的设计方法,但要点是,当您收到 AccountInterface 对象的“messageReceived”信号时,您知道哪个帐户“对象”收到了信号,这比您分离关注点要好谁应该管理帐户谁应该管理帐户对象。
关于这一点还有很多话要说,但我希望这可能有助于澄清......