正确的设计方式

时间:2018-12-19 15:46:49

标签: c++ design-patterns

您应该如何设计课程? 举例来说,您想使用一个类来设计计算机。 我的方法是将对象存储在类中: RAM,硬盘,CPU,主板

提供构建计算机的功能:

获得母婴功能

将硬盘添加到主板功能

将CPU添加到主板功能

将RAM添加到主板功能

提供计算机可以执行的其他功能: PlAY MARIO KART func

这种方法是否有问题? 是否应该遵循任何良好的课堂设计实践?

1 个答案:

答案 0 :(得分:1)

您要寻找的主题是“设计模式”。

就系统而言,基本上可以编译和运行的任何代码都是“ OK”。

您必须定义问题,定义限制,找到手边的所有工具,然后确定最适合您的设计。

对于通常的系统,我认为您正在寻找的是复合设计模式。

在复合模式中,您提供了一个足够通用的接口来呈现所有组件相同的操作,而且每个复合对象可能还具有复合对象。您可以将其视为分解结构。在您的示例中,

                 computer
                /   |   \
              HDD  RAM  GPU

每个子部分也可能有自己的子部分。

此模式在各个地方都有很好的描述,因此我将不做进一步的介绍。

Here是指向描述(我找到的第一个描述)的链接

Design patterns: elements of reusable object-oriented software这本书也是我心目中必读的书。