什么是正确的类结构使用?

时间:2015-11-19 00:18:09

标签: c++ class

我正在编写一个基本上从多个流中获取不同信息的库,组装并匹配它们并将匹配结果发送出去。所以我将A,B和C,D,E,F两个类作为不同最终结果的构建器类。

A类从流中解析原始数据并将数据组织成块并传递给B,然后将最终匹配的结果发送出去。

class A {
public:
   /* put data into structure and pass to B*/
   void parseStreamA(rawData);
   void parseStreamB(rawData);
   ...
   /* send final result out */
   void send();
}

B类从A获取块结构并尝试将其与其接收的其他块匹配,然后将匹配块放入结构C,D,E,F取决于块的类型。

class B {
public:
   /* receives block and try to match to other blocks, put blocks into 
      corresponding structure C or D or E or F */
   void receiveBlock(block);
}

C,D,E,F ......如果它们具有所有部分,则采用多个匹配块并发送回A。

我本可以做到以下几点:

namespace n {
   class A {
      class B {
        class C{
        };
        class D{
        };
      };
   };
}

但我认为这不是一个好主意。 所以我把它们分开来做平面课。现在我有一堆数据结构和方法在类之间共享,但我不想将它们放入标题并附加到类,因为它们将在命名空间n中变为全局。我不想将这些结构和方法包装在一个类中,因为在我的情况下将结构引用为classX::structureY似乎不合适。将类包装在另一个命名空间中也不是一个好主意。我只希望我的类结构简单且可伸缩。我该如何构建这个?

1 个答案:

答案 0 :(得分:2)

你似乎有点困惑。您是否查看过类关键字public / private / internal等?

我还建议你看看https://en.wikipedia.org/wiki/Single_responsibility_principle

如果不知道课程之间的关系,我们就无法提供帮助。