设计模式之---备忘录


设计模式之---备忘录

public class TestClien
{
public void Client()
{
GameRole L = new GameRole();
L.InitialState();
L.ShowState();

Menmeto m= L.SaveState();

L.Fight();

L.ShowState();

L.RecoveryState(m);

L.ShowState();

}
}

public class GameRole
{
private int vitality;
private int defense;
private int attack;
internal void InitialState()
{
vitality = 100;
defense = 100;
attack = 100;
}

internal void Fight()
{
vitality = 0;
defense = 0;
attack = 0;
}

internal void ShowState()
{
Console.WriteLine(this.vitality + this.attack + this.defense);
}

internal Menmeto SaveState()
{
Menmeto m = new Menmeto();
m.Attack = this.attack;
m.Defense = this.defense;
m.Vitality = this.vitality;
return m;
}

internal void RecoveryState(Menmeto m)
{
this.vitality = m.Vitality;
this.defense = m.Defense;
this.attack = m.Attack;
}
}

public class Menmeto
{
private int vitality;

public int Vitality
{
get { return vitality; }
set { vitality = value; }
}
private int defense;

public int Defense
{
get { return defense; }
set { defense = value; }
}
private int attack;

public int Attack
{
get { return attack; }
set { attack = value; }
}
}

写完备忘录模式的代码,发现把聚合menmeto的manager类完全省略了,这个模式也能实现。

它也能解决维护或者记录历史的问题,使得玩家能够还原到前一状态。

优质内容筛选与推荐>>
1、如何使用gcc编译器?
2、每周一书-《做自己-鬼脚七自媒体第一季》
3、JVM的内存配置参数
4、深度学习反向求导
5、angular 分离app.module.ts代码


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号