考虑一个基本结构如下的程序:
ClassA、B 和 C 在逻辑上以父/子关系组合在一起,并且它们从不暴露其私有属性。仅使用这三个组件,该程序将非常有意义(并且可以编译和运行)。然而,为了使程序特别有用,用户需要能够在程序运行时更改所有属性,因此“控制”对象,例如可以是 Windows 窗体。控件应该被视为一种幻象:它应该具有更改属性的能力,但就程序的其余部分而言,它不存在。问题是,我不知道如何在不改变主程序的基本结构的情况下做到这一点(本质上是公开所有属性)。
所以我的问题实际上是在一般编程级别上:这种结构是否有名称,如果有,它是如何实现的?如果没有,是否有更好的方法来解决我正在尝试做的事情?
编辑:由于解决方案可能取决于语言,假设核心程序是完全跨平台的 c++,并且控件是为任何特定平台编程的某种类型的 GUI。