剛學程式設計不久,請前輩們指點。
需求變化點:不同的金額,和不同的角色走不同的報銷流程
using
system;
static
class
factory
if(employee
==null
) throw
newexception(
"傳入的名字非法!");
return
employee;}}
abstract
class
employee
public
state state
public
void
sign()
}class
sales : employee
}class
projectmanager : employee
}abstract
class
state
public
virtual
void
finishstate(employee employee,
string
sign)
}class
projectmanagerstate : state
元,專案經理簽字報銷
", employee.money);
finishstate(employee, sign);
}else
元,專案經理簽字後,給部門經理
", employee.money);
changestate(employee, sign,
newdepartmentmanagerstate());}}
}class
departmentmanagerstate : state
元,部門經理簽字報銷
", employee.money);
finishstate(employee, sign);
}else
元,部門經理簽字後,給總經理
", employee.money);
changestate(employee, sign,
newgeneralmanagerstate());}}
}class
generalmanagerstate : state
元,總經理簽字報銷
", employee.money);
finishstate(employee, sign);}}
class
finishedstate : state元"
, employee.money);}}
class
test
}
簡單地用狀態機寫的按鍵檢測
在csdn上寫的第一篇文章,之前就聽說過狀態機,但並沒有感覺到其比普通按鍵的優越之處。接觸了實時作業系統之後,才領悟到這種按鍵檢測方法可以很好地利用cpu的資源 或者說不用實時作業系統時更體現優越性 這裡直接貼上按鍵檢測的 了 按鍵 led初始化 ucos系統就不贅述了 程式是stm32f103的,...
Python 狀態機模式的實現
原因 解決 冗餘處理效率低的問題 原有模式 class connection 普通方案,好多個判斷語句,效率低下 def init self self.state closed defread self if self.state open raise runtimeerror not open p...
設計模式之狀態模式 狀態機的實現原理
狀態模式是根據狀態的改變觸發一些動作或者行為。當乙個物件的內在狀態改變時可以改變其行為,這個物件看起來像是改變了其類。狀態模式主要有三部分狀態 事件 動作。通過一些事件會觸發狀態的改變,狀態的改變有時候也會出發一些動作。狀態模式主要解決的是當控制乙個物件狀態轉換的條件表示式過於複雜時的情況。把狀態的...