小A:“狀態模式由哪些角色組成吶?”
大B:“狀態模式可以有效的替換充滿在程式中的ifelse語句:將不同條件下的行為封裝在一個類裡面,再給這些類一個統一的父類來約束他們。狀態模式是由下面幾種角色組成:1、使用環境(Context)角色:客戶程式是透過它來滿足自己的需求。它定義了客戶程式需要的介面;並且維護一個具體狀態角色的例項,這個例項來決定當前的狀態。2、狀態(State)角色:定義一個介面以封裝與使用環境角色的一個特定狀態相關的行為。3、具體狀態(ConcreteState)角色:實現狀態角色定義的介面。結構非常簡單也與策略模式非常相似。”