• 2004-10-08

    奴隶社会与共产主义

    Tag:向上走

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/431295.html

    在关联的世界中,组合(composite)与聚合(aggregate)是两个截然不同的国度。

    组合是一个暗无天日的奴隶社会。一旦两个对象之间形成了组合关系,一对新的奴隶主和奴隶便也从此诞生。被组合的奴隶们完全没有自己的自由,他们完全属于自己的奴隶主,其它奴隶主根本连打他们主意的念头都不要有,并且要一生一世的效忠于他们唯一的奴隶主。奴隶们无法选择自己的奴隶主,因为他们生来便是归属于这个奴隶主。更为可怕的是,一旦奴隶主死亡,他所拥有的所有奴隶都要成为殉葬品,绝无例外。也就是说,奴隶们的生命周期不可能长于自己的奴隶主。奴隶主们的口号是,你可以先我而去,绝不能后我而亡。奴隶主们有自己的理由,皮之不存,毛将焉附。

    聚合则是充满阳光的共产主义社会。大家丝毫没有藏私的念头,好东西就是要拿出来与彼此分享的。即便这个对象已然聚合到一个对象中,但丝毫不妨碍他与另外一个对象眉来眼去,这样他可以赢得被再次聚合的可能。虽然它可能属于多个对象,但它仍然可以对立存在,有自己的自由。在这个国度中,虽然对象可以任意搭配,但大家决不有意多吃多占,只是按照自己的需要——接口,获取自己需要的内容,真正做到了资源共享,按需分配。不同于组合国,虽然一个对象可以由另外几个对象共同拥有,但没有任何一个能够把握它的生杀大权,它可以完全独立自己的所有者生存下去,它可能会目送自己的老拥有者逝去,也可能会由自己的晚辈后生继续拥有。

    这便是关联世界中两个不同的国度。羽化成蝶,成为真正的代码时,我们可能很难看出他们的差别,但在模型阶段,也就是代码的前世,他们的差别却是实实在在的。
    也许,这也是一种殊途同归吧!

    分享到:
    引用地址:

    评论

  • 我也同意,之所以晦涩,一种情况是作者的无意/无奈,另一种就是可恶的故意,那些作者以此来隐藏他们的无知或炫耀他们的高高在上,其他他们不晓得,已经被我们BS了若干回了。呵呵
  • “模型是代码的前世”~这个说法有点意思,呵呵
  • 用形象的比喻对比事物的本质,一直都是准确理解事物的最好方法。
    回复大阿福说:
    我一直的观点是技术的文字不应该只与晦涩联系在一起。
    2004-10-10 16:57:33