在某些构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定?状态变化模块为这一问题提供了一种解决方案。
状态模式(State)
①State模式将所有与一个特定状态相关的行为都放入一个State的子类对象中,在对象状态切换时,切换相应的对象;但同时维持State的接口,这样实现了具体操作与状态转换之间的解耦。
②如果State对象没有实例变量,那么各个上下文可以共享同一个State对象,从而节省对象开销。
备忘录(Memento)
①Memento模式的核心是信息隐藏,即Originator需要对外接隐藏信息,保持其封装性。但同时又需要将状态保持到外界(Memento)。

博客围绕状态模式和备忘录模式展开。状态模式将特定状态相关行为放入子类对象,实现操作与状态转换解耦,无实例变量时可共享对象节省开销;备忘录模式核心是信息隐藏,Originator对外隐藏信息,同时将状态保存到外界。
170

被折叠的 条评论
为什么被折叠?



