static void Main(string[] args) { // 這裡有幾種設計的方式,可以將各種state的轉換提供介面設定 // 或是隱性的在各個state內轉換 // 此處寫的是隱性的Default state => StateA => StateB var context = new Context(); context.ContextAction1(); context.StateDependentAction1(); context.StateTransitionAction1(); context.StateDependentAction2(); context.StateTransitionAction2(); }