备忘录模式
适用场景
优点
缺点
Golang Demo
type Article struct {
title string
content string
}
func NewArticle(title string, content string) *Article {
return &Article{title: title, content: content}
}
func (a *Article) addToMemento() *ArticleMemento {
return NewArticleMemento(a.title, a.content)
}
func (a *Article) undoFromMemento(memento *ArticleMemento) {
a.title = memento.title
a.content = memento.content
}Java Demo
UML

补充另一个版本的Java/Scala Demo 以及源码解析
Java Demo_
Scala Demo
UML_
源码解析
Last updated