我一直在尝试理解与C ++相关的组件化(与OOP概念形成对比,也称为面向组件的编程)。
我已经在互联网上对此进行了研究,但是很少有结构化信息可供使用。 Windows COM对象似乎很有组件化。我发现http://c2.com/cgi/wiki?ComponentDefinition很有用。
什么是最好和最简单的C ++代码示例,用于说明组件化概念?
我有一些高级别的想法,例如:
我有一个英文字。 字由几个符号组成 字符的。现在,每个字符可以是几种类型 字母,数字,标点符号,空格等所以,每个 字母,数字等代表基本组件,基于 其中,一个词将会形成并将会存在。 字成为聚合组件(符号),基于此 将形成一个句子,等等。
质子,中子和电子是个别的agrregate组件,它们构成原子。
那么,复合设计模式与组件化概念有何不同?
请指导我。 感谢。
答案 0 :(得分:1)
'Composite'是一种设计模式。设计模式是在一个软件设计期间适用的问题 - 解决方案对。
如果我理解你对'组件化'这个术语的正确解释,那么它就是一个建筑原理,它遵循比定义SW结构的设计更高的抽象层次。
(如果您对我所说的架构感兴趣,请参考this paper,它会尝试正式定义术语设计/架构。)
如果你稍微深一些,'Composite'有助于用相同的界面处理容器和内容。例如,如果在示例中应用“复合”模式,则可以定义接口“粒子”,然后将原子/电子/质子/中子视为粒子,同时也保持容器/内容关系。这是一个非常具体的问题解决方案对,只能在某些情况下出现。
但是,“组件化”可以适用于更广泛的情况,如果首先存在任何容器内容关系,则不会感到困扰。即使组件之间存在这种关系,也不必关心使用相同的接口处理它们。