如何实现层次结构类系统

时间:2018-11-12 07:15:01

标签: c++ architecture singleton friend class-design

我对C ++处理这种情况有些陌生,因此,我决定立即问这个问题,而不是立即使用单例模式,以查看是否有更好的选择。

还有其他实现系统的方法吗?在这个系统中,我们有一个主类可以访问一排彼此之间是朋友的类?我没有找到其他方法可以使这项工作完成:继承将不起作用,原因是类之间的工作方式完全不同,并且使用成员类不是一种选择,因为那样的话,我将构造另一个实例一个类,但不是一个选择,这是因为我得到了一个非原子类,例如logger,并且应该只有一个实例。

这就是我的想法:

enter image description here

1 个答案:

答案 0 :(得分:3)

简而言之:

  • ,就像您在图表上显示的那样,可能有很多彼此之间是朋友的类。

  • ,不建议这样做,因为您将拥有高度耦合的系统,并且每次在一个类中进行更改时,都可能会影响其他所有类。

诸如singleton pattern之类的设计模式以及诸如dependency injection之类的其他技术可以帮助避免这种情况,并减少coupling以便于维护并具有更强大的功能系统。