避免了複雜的條件;取而代之以狀態物件。優勢在於允許物件改變內部狀態。和策略優勢有很多相似之處。狀態模式也是一種行為模式。
狀態模式類圖:
[img]
具體**示例:
package statepattern;
public inte***ce state
package statepattern;
public class concretestatea implements state
@override
public state changestate()
}
package statepattern;
public class concretestateb implements state
@override
public state changestate()
}
package statepattern;
public class context
public void setstate(state state)
}
package statepattern;
public class teststatepattern
}
菜鳥碩楓設計模式系列之11 外觀模式
外觀模式,一種封裝底層實現的模式。使得呼叫者不用關心誰去具體的完成功能操作,解耦了請求者與操作者,封裝了細節。外觀模式也是一種結構型設計模式。外觀模式類圖 img 具體demo facade介面 package facadepattern public inte ce facade 具體實現 pac...
菜鳥碩楓設計模式系列之6 建造者模式
建造者模式是設計模式中另乙個重要的建立物件的方法模式。它的特點主要是穩定了建立的過程,比如下面的例子中就是每個產品的建立過程都包括建立a部分和建立b部分,但不同的builder可以有自己的方式去建立產品,比如不同的房地產商可以建不同的房子 大房子 小房子 只要建造過程穩定一致就可以了。建造者模式類圖...
設計模式系列之 狀態模式
這種型別的設計模式屬於行為型模式,它他解決了方法的合理呼叫 狀態模式用於乙個事件或物件有很多狀態,狀態之間會互相轉換,對不同狀態有不同的行為的情況 狀態模式將不同的情況封裝為乙個類 這樣避免了if else的多次呼叫 而且增加新的情況不改變原有 這樣可以通過只一次判斷狀態就可以完成相應方法的呼叫 需...