本設計模式就是簡單地記錄目前狀态。然後利用記錄的資料恢複。
比方首先我們有一個類。類須要記錄目前狀态進行相關的工作的:
這裡面的state能夠是随意定義的資料,依據實際情況而定。
然後我們依據這個state設計一個能夠保持state資料的類:
以下是詳細的保持和恢複資料的方法:
然後看看主函數。我們就能夠利用這兩個保持和恢複資料的方法來進行狀态之間的轉換,然後能夠恢複到之前的狀态:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLi0zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwkzX39GZhh2csATMflHLwEzX4xSZz91ZsADMx8FdsYkRGZkRG9lcvx2bjxSa2EWNhJTW1AlUxEFeVRUUfRHelRHL2EzXlpXazxyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3PnVGcq5iYxcTYxEjNxkDOlZ2MkZWN3IDOjJDNmFGZwEDMkJmMx8CXzAzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLzM3Lc9CX6MHc0RHaiojIsJye.jpeg)
整體來說這是個很easy的設計模式了。
我認為事實上這個設計模式全然能夠使用一般非類的方法來記錄狀态的,可是當資料量很大的時候,使用memo類能夠簡化代碼,而且使用類能夠更加友善記住這些資料。由于這些資料都和一個類連起來了。
假設要把這個設計模式變的複雜起來。那麼就是這個state的問題了。比方狀态非常複雜的時候,那麼設計這個模式自然就變得複雜了。