【发布时间】:2011-04-29 06:19:32
【问题描述】:
我目前看到很多关于代码中的实体建模的工作以及对函数式编程的兴趣。在面向对象系统工作了几年之后,我一次又一次地遇到“阻抗不匹配”问题。
由于 Transact SQL 实现了一些 FOP,数据集以声明方式描述为 Set,“阻抗不匹配”是否会消失。如果是这种情况,我试图确定,是否需要以代码形式开发领域模型,或者是否可以使用 SQL 和关系理论的旧技术和尝试过的技术。
我知道目前正在大力推动编写实体层和 ORMS 以尝试减轻这种阻抗不匹配并使系统作为对象工作。
这项工作是否反映出手头可能存在更大的问题,并且“阻抗不匹配”对于面向对象的设计/编程来说更加令人担忧,因为在处理 RDBMS 交互时,整个范例可能不是最佳解决方案.
我正在考虑从 c# 迁移到 f# 的影响,全职并适用于所有代码库。我认为我的思维方式转变可能有问题。
【问题讨论】:
-
要避免阻抗不匹配,您需要转义 SQL,因为现实世界的实体不会映射到表。请参阅 Datalog(和 Datomic)以获得更好的方法:DOMAIN MODELING WITH DATALOG by Norbert Wojtowicz - YouTube
标签: sql oop f# functional-programming