State Pattern ( Behavioral )
Once State interface'i yaratilir.
Burada her state icin yapilacak davranislari listeleriz
mesela
interface LanguageState
sayNo()
sayYes()
class GermanState implements LanguageState
sayNo() //implementation
sayYes() //implementation
class EnglishState implements LanguageState
sayNo() //implementation
sayYes() //implementation
Simdi state'e sahip olacak class
class Person implements LanguageState // O da LanguageState'i implemente ediyor !
LanguageState ls=null;
setLanguageState(LanguageState s) //implementation
sayNo(return ls.sayNo()) //implementation
sayYes(return ls.sayYes()) //implementation
class Demo
main() {
Person p = new Person()
p.setLanguageState(new GermanState());
p.sayNo();
p.sayYes();
}
Burada state'e gore Person farkli davraniyor. Strategy pattern , online olarak algoritmayi set ediyor.
Yani strategy her zaman bir metod. State Pattern'de, state e gore birden fazla metod'a sahip oluyor.
State pattern de, gercek obje de aslinda bir state oluyor, yukarida LanguageState'i implemente ettigi icin.
Runtime de degisiklige ugradigi icin, buna behavioral pattern deniyor.
Search Blog
Friday, February 3, 2012
State Pattern (Behavioral)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment