状态模式:对象状态变化驱动行为改变设计策略.pptx

状态模式:对象状态变化驱动行为改变设计策略.pptx

第二十一章State状态

(行为型模式)

动机(Motivation)在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化,比如文档处于只读状态,其支持的行为和读写状态支持的行为就可能完全不同。如何在运行时根据对象的状态来透明地更改对象的行为?而不会为对象操作和状态转化之间引入紧耦合?

意图(Intent)允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。——《设计模式》GoF

结构(Structure)

结构详解

生活中的例子情人节里,要:过节。过节时要:庆祝节日:单身状态下:单身情歌热恋状态下:花前月下失恋状态下:对酒当歌几多愁

实现-State//Statepublicabstractclass节日状态{publicabstractvoid庆祝节日();//Handle()}publicclass单身状态:节日状态//ConcreteSate{publicoverridevoid庆祝节日(){Console.WriteLine(单身情歌,没有情人的情人节:(~~~~);}}publicclass热恋状态:节日状态//Concre

文档评论(0)

1亿VIP精品文档

相关文档