您应该如何设计课程? 举例来说,您想使用一个类来设计计算机。 我的方法是将对象存储在类中: RAM,硬盘,CPU,主板
提供构建计算机的功能:
获得母婴功能
将硬盘添加到主板功能
将CPU添加到主板功能
将RAM添加到主板功能
提供计算机可以执行的其他功能: PlAY MARIO KART func
这种方法是否有问题? 是否应该遵循任何良好的课堂设计实践?
答案 0 :(得分:1)
您要寻找的主题是“设计模式”。
就系统而言,基本上可以编译和运行的任何代码都是“ OK”。
您必须定义问题,定义限制,找到手边的所有工具,然后确定最适合您的设计。
对于通常的系统,我认为您正在寻找的是复合设计模式。
在复合模式中,您提供了一个足够通用的接口来呈现所有组件相同的操作,而且每个复合对象可能还具有复合对象。您可以将其视为分解结构。在您的示例中,
computer
/ | \
HDD RAM GPU
每个子部分也可能有自己的子部分。
此模式在各个地方都有很好的描述,因此我将不做进一步的介绍。
Here是指向描述(我找到的第一个描述)的链接
Design patterns: elements of reusable object-oriented software这本书也是我心目中必读的书。