C++ 设计类的正确方法
你应该如何设计课程? 比如说,你想用一个类来设计一台计算机。 我的方法是在类中存储对象: RAM、硬盘、CPU、主板 提供构建计算机的功能: 获取母本函数 将硬盘添加到主板func 将CPU添加到主板func 将RAM添加到主板func 提供计算机可以执行的其他功能: 玩马里奥卡丁车 这种方法有什么问题吗?C++ 设计类的正确方法,c++,design-patterns,C++,Design Patterns,你应该如何设计课程? 比如说,你想用一个类来设计一台计算机。 我的方法是在类中存储对象: RAM、硬盘、CPU、主板 提供构建计算机的功能: 获取母本函数 将硬盘添加到主板func 将CPU添加到主板func 将RAM添加到主板func 提供计算机可以执行的其他功能: 玩马里奥卡丁车 这种方法有什么问题吗? 有什么好的课堂设计实践应该遵循吗?你要找的主题是“设计模式” 就系统而言,基本上任何可以编译和运行的代码都是“OK”的 你必须定义你的问题,定义限制,找到你手上所有的工具,然后决定什么是最适
有什么好的课堂设计实践应该遵循吗?你要找的主题是“设计模式” 就系统而言,基本上任何可以编译和运行的代码都是“OK”的 你必须定义你的问题,定义限制,找到你手上所有的工具,然后决定什么是最适合你的设计 对于一个常用的系统,我认为您需要的是复合设计模式 在复合模式中,您提供了一个足够通用的接口来表示对所有组件都相同的操作,而且每个复合对象可能都有同样是复合的子对象。这可以被认为是破坏了结构。以你为例,
computer
/ | \
HDD RAM GPU
这些子部件中的每一个子部件也可能有自己的子部件
这种模式在很多地方都有很好的描述,所以我将不再深入探讨它
是指向描述的一个链接(我找到的第一个)
在我看来,这本书也是一本必读的书。可能有数百万种设计实践,它们是否好是一个有争议的问题。通常,有效的是好的;)你不应该考虑具体的东西,比如“内存”或“CPU”,而应该考虑更抽象的术语,比如“组件”或“连接器”。例如,CPU只是一个安装在特定插座中的组件,而主板是一个具有该插座的组件。因为插座只是一种连接器,所以一切正常。说到“功能”,这完全是主观的。没有CPU的电脑能玩游戏吗?不,没有硬盘怎么办?对为什么有什么不同?一个对象既可以是抽象的,也可以是具体的,类似于所说的对象。您仍然可以使用具体组件和抽象组件。。。