में लूज युग्मन मुझे ढीले युग्मन को समझने में मदद की ज़रूरत है। संरचना को कम से कम युग्मित करने के लिए एक कक्षा को कैसे डिज़ाइन किया जाता है, जब किसी बच्चे को ऑब्जेक्ट को को उनके मूल ऑब्जेक्ट के साथ संवाद करने की आवश्यकता होती है? मुझे एक उदाहरण देता हूँ:संरचना
class A {
private:
B b;
public:
void foo();
};
कैसे बी वस्तु अपने कंटेनर वर्ग एक से समारोह foo() फोन करता है:
हम इस किया है? स्पष्ट जवाब है "बस ए से बी तक एक पॉइंटर पास करें", लेकिन यह तंग युग्मन और एक लचीला डिजाइन है।
क्या आप कृपया मुझे इस समस्या का समाधान कर सकते हैं (सी ++ या जावा में अधिमानतः) या इन तकनीकों से निपटने वाली डिज़ाइन तकनीकों को प्रदान करें?
मेरा असली जीवन उदाहरण जेआरपीजी के लिए एक गेम इंजन विकसित करने से आता है। हर खेल पाश, StateMachine
की Update()
कहा जाता है जो curState
की Update()
फ़ंक्शन को कॉल करने में
class StateMachine
{
private:
std::map<std::string, State*> states;
State* curState;
public:
StateMachine();
~StateMachine();
void Update();
void Render();
void ChangeCurState(const std::string& stateName);
void AddState(const std::string& stateName, State* state);
};
: मैं इस वर्ग की है। मैं curState
ChangeCurState
StateMachine
कक्षा से कॉल करने में सक्षम हूं, लेकिन ढीले युग्मन के साथ।
वे किसी भी तरह से जोड़े गए हैं क्योंकि ए में बी – doctorlove
एक अवलोकन योग्य है। बी एक पर्यवेक्षक बनाओ। –