mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 04:22:22 +00:00
update db
This commit is contained in:
parent
70e6f66a7f
commit
57ea1d9878
@ -154,9 +154,7 @@ num, err := o.QueryTable("cardgroup").Filter("Cards__Card__Name", cardName).All(
|
|||||||
num, err := o.QueryTable("cardgroup").Filter("Cards__Card__Name", cardName).All(&cardgroups)
|
num, err := o.QueryTable("cardgroup").Filter("Cards__Card__Name", cardName).All(&cardgroups)
|
||||||
```
|
```
|
||||||
|
|
||||||
你可以看得出来这个 Filter 是有表 join 的操作么?当然了,对 beego orm 有过深入使用经验的用户还是会觉得这是在吹毛求疵。但这样的分析想证明的是,orm 想从设计上隐去太多的细节。而方便的代价是其背后的运行完全失控。其实就是说:
|
你可以看得出来这个 Filter 是有表 join 的操作么?当然了,对 beego orm 有过深入使用经验的用户还是会觉得这是在吹毛求疵。但这样的分析想证明的是,orm 想从设计上隐去太多的细节。而方便的代价是其背后的运行完全失控。这样的项目在经过几任维护人员之后,将变得面目全非,难以维护。
|
||||||
|
|
||||||
你都不知道自己在干些什么事情。
|
|
||||||
|
|
||||||
当然,我们不能否认 orm 的进步意义,orm 的设计初衷是为了让数据的操作和存储的具体实现所剥离。但是上了规模的公司的人们渐渐达成了一个共识,由于隐藏重要的细节,orm 可能是失败的设计。其所隐藏的重要细节对于上了规模的系统开发来说至关重要。
|
当然,我们不能否认 orm 的进步意义,orm 的设计初衷是为了让数据的操作和存储的具体实现所剥离。但是上了规模的公司的人们渐渐达成了一个共识,由于隐藏重要的细节,orm 可能是失败的设计。其所隐藏的重要细节对于上了规模的系统开发来说至关重要。
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user