प्रौद्योगिकी साझेदारी

राज्य पैटर्न

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

राज्य पैटर्न

परिभाषा

State Machine Pattern इति अपि कथ्यते
विशिष्टराज्यसम्बद्धव्यवहारं समाहितं कर्तुं भिन्नराज्यवर्गाणां परिभाषां कृत्वा, राज्यनिर्णयतर्कं च भिन्नराज्यानां प्रतिनिधित्वं कुर्वतां वर्गश्रृङ्खलायां स्थानान्तरयित्वा जटिलनिर्णयतर्कस्य सरलीकरणं भवति

  • अवस्थाप्रतिमानं राज्यं व्यवहारं च पृथक् करोति, यत् वस्तुनः आन्तरिकस्थितिः परिवर्तते तदा तस्य व्यवहारं परिवर्तयितुं समर्थं करोति ।
  • प्रत्येकं अवस्था उपवर्गस्य अनुरूपं भवति, तस्मात् राज्यसंक्रमणतर्कं राज्योपवर्गेषु वितरति, परस्परनिर्भरतां न्यूनीकरोति ।
  • क्लायन्ट् प्रायः प्रत्यक्षतया राज्यवस्तुना सह अन्तरक्रियां न करोति, परन्तु पर्यावरणवर्गस्य (Context) माध्यमेन राज्यवस्तुना सह अन्तरक्रियां करोति ।

प्रयोज्य दृश्य

  1. वस्तुनः व्यवहारः तस्य अवस्थायाः आधारेण भवति, तस्य स्थितिः आधारीकृत्य रनटाइम् इत्यत्र तस्य व्यवहारः परिवर्तनीयः ।
  2. एकस्मिन् क्रियायां विशालः बहुशाखासंरचना भवति, एताः शाखाः वस्तुनः अवस्थायाः आधारेण निर्धारिताः भवन्ति ।

मानक उदाहरणम्

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

राज्यप्रतिमानसंरचनाचित्रे प्रायः निम्नलिखितभूमिकाः सन्ति ।

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

IState

public interface IState {
    void handle();
}