mysql 设计模式_mysql – 你会推荐什么版本设计模式
我不認為版本控制中沒有特定的GoF設計模式本身,因為它存在許多實現。
版本控制的最簡單的實現是對象的鏈表。其中列表中的每個節點都是可版本化對象的新版本。為了節省空間,您還可以實現某種diff,以顯示修訂版本之間的區別。這樣,您可以將diff存儲在數據庫中,也可以存儲可版本化對象的最終版本,因為版本控制系統應該能夠導出兩者之間的版本。
數據庫模式主要看起來像這樣(你可以在大多數wiki系統中看到這種模式):
+--------------------+ 1 * +-----------------------------+
| VersionableObject |---------| Diff |
+--------------------+ +-----------------------------+
| lastStateContent | | difference |
| originalAuthor | | revision |
| #dates and whatnot | | # userId, dates and whatnot |
+--------------------+ +-----------------------------+
如果你想用分支和東西去核心,你可能想考慮看看DAG這是現代分布式版本控制系統使用的。
現在,如果我們談論你的例子,一大堆對象需要被保存在配置中。即我們必須挑選我們想要的模型的對象的修訂。這意味著我們有許多關系(這是通過中介表解決的),就像這樣:
+---+ 1 * +---------------+ 1 * +-----------------+ * 1 +-------+
| B |-------| Diff |-------| ModelSelection |-------| Model |
+---+ +---------------+ +-----------------+ +-------+
| revisionNo | | {PK} configId |
| {FK} configId | | {FK} modelId |
+---------------+ +-----------------+
我希望這有幫助。
總結
以上是生活随笔為你收集整理的mysql 设计模式_mysql – 你会推荐什么版本设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 51nod 1022 石子合并v2
- 下一篇: luogu p4767 邮局