当前位置:  开发笔记 > 前端 > 正文

对象规范化

如何解决《对象规范化》经验,为你挑选了2个好方法。

与数据库规范化相同的行 - 是否存在对象规范化的方法,而不是设计模式,而是用于规范化对象创建的相同数学方法.例如:第一个普通形式:没有重复字段....这里是DB规范化的一些链接:

http://en.wikipedia.org/wiki/Database_normalization http://databases.about.com/od/specificproducts/a/normalization.htm

这会使对象创建和自我文档更好吗?

这是一本关于类规范化的书的链接(猜测我们真的在谈论类) http://www.agiledata.org/essays/classNormalization.html



1> 小智..:

规范化在谓词逻辑中具有数学基础,并且明确且具体的目标是同一条信息永远不会在单个模型中表示两次; 此目标的目的是消除数据模型中信息不一致的可能性.可以通过数学证明证明,如果数据模型具有某些特定属性(它通过第一范式(1NF),2NF,3NF等的测试),则它没有冗余数据表示,即它是标准化的.

面向对象没有这样的潜在数学基础,事实上,没有明确和具体的目标.它只是引入更多抽象的设计理念.DRY原则,命令查询分离,Liskov替换原则,开放闭合原则,Tell-DO-Ask,依赖性倒置原则,以及其他用于提高代码质量的启发式方法(其中许多适用于一般代码,而不仅仅是面向对象的程序)本质上不是绝对的; 它们是程序员发现有助于提高代码的可理解性,可维护性和可测试性的指南.

使用关系数据模型,您可以绝对肯定地说它是否"正常化",因为它必须通过所有正常形式的测试,并且它们非常具体.另一方面,对于对象模型,由于"可理解,可维护,可测试等"的目标相当模糊,您无法确切地说是否已达到该目标.有许多设计启发式,你甚至无法肯定地说是否跟随过他们.如果您在设计中应用模式,您是否遵循DRY原则?当然重复使用模式不是DRY?此外,其中一些启发式或原则并不总是一直是好的建议.我尝试按照命令查询分离,



2> Jon Skeet..:

我认为单一责任原则至少有关.或者至少,违反SRP类似于在某些方面缺乏正常化.

(我可能会说垃圾.我很累.)

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有