한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
राज्य पैटर्न
परिभाषा
State Machine Pattern इति अपि कथ्यते
विशिष्टराज्यसम्बद्धव्यवहारं समाहितं कर्तुं भिन्नराज्यवर्गाणां परिभाषां कृत्वा, राज्यनिर्णयतर्कं च भिन्नराज्यानां प्रतिनिधित्वं कुर्वतां वर्गश्रृङ्खलायां स्थानान्तरयित्वा जटिलनिर्णयतर्कस्य सरलीकरणं भवति
- अवस्थाप्रतिमानं राज्यं व्यवहारं च पृथक् करोति, यत् वस्तुनः आन्तरिकस्थितिः परिवर्तते तदा तस्य व्यवहारं परिवर्तयितुं समर्थं करोति ।
- प्रत्येकं अवस्था उपवर्गस्य अनुरूपं भवति, तस्मात् राज्यसंक्रमणतर्कं राज्योपवर्गेषु वितरति, परस्परनिर्भरतां न्यूनीकरोति ।
- क्लायन्ट् प्रायः प्रत्यक्षतया राज्यवस्तुना सह अन्तरक्रियां न करोति, परन्तु पर्यावरणवर्गस्य (Context) माध्यमेन राज्यवस्तुना सह अन्तरक्रियां करोति ।
प्रयोज्य दृश्य
- वस्तुनः व्यवहारः तस्य अवस्थायाः आधारेण भवति, तस्य स्थितिः आधारीकृत्य रनटाइम् इत्यत्र तस्य व्यवहारः परिवर्तनीयः ।
- एकस्मिन् क्रियायां विशालः बहुशाखासंरचना भवति, एताः शाखाः वस्तुनः अवस्थायाः आधारेण निर्धारिताः भवन्ति ।
मानक उदाहरणम्

राज्यप्रतिमानसंरचनाचित्रे प्रायः निम्नलिखितभूमिकाः सन्ति ।
- सन्दर्भः (पर्यावरणवर्गः): सन्दर्भवर्गः इति अपि उच्यते, एतत् बहुविधस्थितियुक्तं वस्तु अस्ति । वातावरणवर्गे अमूर्तस्थितिवर्गस्य State इत्यस्य एकं उदाहरणं निर्वाहयन्तु, यत् वर्तमानस्थितिं परिभाषयति ।
- राज्य (सार अवस्था वर्ग): पर्यावरणवर्गस्य विशिष्टस्थित्या सह सम्बद्धं व्यवहारं समाहितं कर्तुं अन्तरफलकं परिभाषितुं प्रयुक्तम् । विभिन्नावस्थानुरूपाः पद्धतयः अमूर्तावस्थावर्गे घोषिताः उपवर्गेषु च कार्यान्विताः भवन्ति ।
- ConcreteState (concrete state class): एषः अमूर्त अवस्थावर्गस्य उपवर्गः अस्ति ।
IState
public interface IState {
void handle();
}