在处理我的爱好项目时,我将代码分为后台操作和gui操作。所以我最终得到了实际工作的库对象和代表菜单,框架等的gui对象。每次让我烦恼的是我最终拥有许多必须了解其他物体的物品。比如工具栏对象需要知道主机和主菜单需要知道框架和工具栏,所以我最终通过构造函数传递对很多对象的引用。虽然它有效但我无法想象windows或darwin代码将100个引用传递给其他组件。
所以我的问题是保持对象没有通过一堆引用的首选方法是什么?
答案 0 :(得分:1)
Separation of Concerns:让每个对象只有一个责任。
这里的目标是确保每个对象都具有最小的功能并且做得很好。然后用你的对象组成你的系统。通过这种方式,您可以获得一个具有较小类的系统,这些类是较大类的组合,可以“管理”系统的各个部分并进行通信。这些类之间的依赖关系很简单。
我确定我在这里并不完全清楚,你应该试着看看如何组织一些大而复杂的面向对象的库(如Ogre,如果你对实时3D渲染感兴趣)