代码之家  ›  专栏  ›  技术社区  ›  Sabeen Malik

标准化技术在对象建模中的应用

oop
  •  2
  • Sabeen Malik  · 技术社区  · 15 年前

    多年来,我遵循数据库规范化技术,至少识别了我的对象模型的关系和实体,它总是让我更接近一个非常合理的设计。

    最近我看到了这篇研究论文,它实际上涉及到了同样的问题。

    http://www.decodephp.com/oo-design-normlization.pdf

    你们对这项技术有什么看法?你觉得它有用吗?你发现它有什么大问题吗?

    2 回复  |  直到 15 年前
        1
  •  3
  •   Doug Knesek    15 年前

    这是垃圾。

    面向对象的设计处理这样一个事实:规范化状态和“规范化”行为(通过功能分解)产生不兼容和不对齐的结构。单独这样做的系统存在这样一个问题,即尽管数据规范化和功能分解能够很好地将各自领域的复杂性降到最低,但当状态结构和行为结构需要在同一程序中进行互操作时,它们之间会产生高度的复杂性。

    一般来说,把一个优化设计的状态空间和一个优化设计的行为空间想象成存在于一个球体的两极上。你的系统越接近一个极点,它离另一个极点就越远。这仅仅是因为行为通常与状态正交。

    作者似乎没有注意到这一点,因为他们的类图中的操作只是状态信息的获取者和设置者,这就是状态优化(数据规范化)技术非常适合的原因。

        2
  •  0
  •   just somebody    15 年前

    那篇论文很有趣。作者对 关系式 已经完全关闭了,它们显示的代码是 以任何方式面向对象:它们只显示了两个用getter和setter美化的结构。再一次,那是 面向对象编程。

    购买C.J.Date的书是为了认真深入、易读、充分讨论关系数据模型,以及……有人在OOP上找到同样值得尊敬的消息来源。