设计模式之状态模式(C#版)

简介

状态在生活和工作中无处不在,比如一个人有开心、伤心、工作中、睡眠中等不同的状态,一张订单有初始化、待审批、已审批等不同状态。

什么是状态模式

我们先来讲一下什么是状态模式。状态模式的定义是,当一个对象的内部状态改变时,其行为也随之改变,这个对象看起来像是改变了其类。
比如一个人,从心平气和的状态变到愤怒的状态下(状态的改变),简直判若两人(行为也随之改变)。

一个人状态的变化

下面我们就用代码来模拟一下一个人从心平气和的状态变到愤怒状态的不同行为变化的实现。
我们先看一下最最普通没有用设计模式的写法。

public class Person{
   
	// 状态
	private string _state = "Peaceful";
	
	public string State 
	{
    
		get => _state; 
		set => _state = value; 
	}
	
	// 对于不同状态的反应
	public void Reaction()
	{
   
		switch (this._state)
		{
   
			case "Peaceful":
            	Console.WriteLine("我现在很平静");
                break;
	        case "Angry":
                Console
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值