అబ్జర్వర్ డిజైన్ సరళి పోడ్కాస్ట్ లాంటిది

మీరు పాడ్‌కాస్ట్‌లు వింటుంటే, మీకు ఇప్పటికే అబ్జర్వర్ నమూనా బాగా తెలుసు. నిజానికి, మీరు “పరిశీలకుడు”.

అబ్జర్వర్ నమూనాకు నిర్వచనం ఇక్కడ ఉంది:

అబ్జర్వర్ సరళి వస్తువుల మధ్య ఒకటి నుండి అనేక ఆధారపడటాన్ని నిర్వచిస్తుంది, తద్వారా ఒక వస్తువు స్థితిని మార్చినప్పుడు, దానిపై ఆధారపడిన వారందరికీ స్వయంచాలకంగా తెలియజేయబడుతుంది మరియు నవీకరించబడుతుంది.

పాడ్‌కాస్ట్‌లకు సంబంధించిన నిర్వచనాన్ని చూద్దాం.

నేను డెవలపర్ టీ అనే ఆసక్తికరమైన పోడ్‌కాస్ట్‌ను కనుగొన్నాను.

సబ్‌స్క్రైబ్ బటన్‌ను క్లిక్ చేసిన తర్వాత, నేను ఇప్పుడు వారి చందాదారుల జాబితాలో ఉన్నాను.

డెవలపర్ టీ క్రొత్త ఎపిసోడ్‌ను విడుదల చేసినప్పుడు, అనువర్తనం నాకు మరియు ఇతర చందాదారులకు తెలియజేస్తుంది. ఇది మాకు కొత్త ఎపిసోడ్‌ను డౌన్‌లోడ్ చేస్తుంది.

ఇది ఖచ్చితంగా అబ్జర్వర్ నమూనా యొక్క నిర్వచనం!

అబ్జర్వర్ సరళి వస్తువుల మధ్య ఒకటి నుండి అనేక ఆధారపడటాన్ని నిర్వచిస్తుంది, తద్వారా ఒక వస్తువు స్థితిని మార్చినప్పుడు, దానిపై ఆధారపడిన వారందరికీ స్వయంచాలకంగా తెలియజేయబడుతుంది మరియు నవీకరించబడుతుంది.

డెవలపర్ టీ పోడ్కాస్ట్ మరియు చందాదారుల మధ్య ఒకటి నుండి అనేక సంబంధాలు ఉన్నాయి.

డెవలపర్ టీ కొత్త ఎపిసోడ్‌ను విడుదల చేయడం వంటి స్థితిని మార్చినప్పుడు, డెవలపర్ టీ యొక్క చందాదారులందరికీ తెలియజేయబడుతుంది మరియు నవీకరించబడుతుంది.

దీన్ని రూబీలో అమలు చేద్దాం.

సాధారణ సంస్కరణతో ప్రారంభించండి.

పోడ్కాస్ట్ క్లాస్ ఎపిసోడ్ల జాబితాను కలిగి ఉంది మరియు జాబితాకు add_episode కు ఒక పద్ధతి ఉంది.

అప్పుడు మేము డెవలపర్_టీయా పోడ్‌కాస్ట్‌ను సృష్టించవచ్చు మరియు ఎపిసోడ్ # 1 ని ఇలా జోడించవచ్చు:

క్రొత్త ఎపిసోడ్ విడుదలైనప్పుడల్లా నోటిఫికేషన్ పొందాలనుకుంటున్నాను.

జాబితాకు క్రొత్త ఎపిసోడ్‌ను జోడించిన తర్వాత మేము నన్ను నవీకరించవచ్చు:

నేను డెవలపర్_టీయా నుండి నవీకరణ పొందినప్పుడల్లా, నేను ముందుకు వెళ్లి తాజా ఎపిసోడ్‌ను డౌన్‌లోడ్ చేసుకోగలను.

నేను డెవలపర్_టీయాను వినడం చాలా ఆనందించాను, దానిని నా స్నేహితుడు అంబర్‌కు సిఫార్సు చేస్తున్నాను. ఇప్పుడు, అంబర్ కూడా దీనికి సభ్యత్వాన్ని పొందాలనుకుంటున్నారు.

క్రొత్త ఎపిసోడ్ విడుదలైనప్పుడల్లా అంబర్‌కు నోటిఫికేషన్ వస్తుందని మేము నిర్ధారించుకోవాలి:

మ్, ఈ కోడ్ మనకు కావలసినది చేస్తుంది.

కానీ ఒక సమస్య ఉంది.

మేము చందాదారుడిని జోడించాలనుకున్న ప్రతిసారీ, మేము తరగతిని పునర్నిర్వచించాలి.

తరగతిని పునర్నిర్వచించకుండా చందాదారుల జాబితాను నవీకరించడానికి మార్గం ఉందా?

E మేము చందాదారుల జాబితాను ఉంచగలం!

క్రొత్త పోడ్కాస్ట్ తరగతి రెండు కొత్త పద్ధతుల సహాయంతో చందాదారుల జాబితాను ఉంచుతుంది: ఒకటి చందాదారులను జోడించడం మరియు ఒకటి చందాదారులను తొలగించడం. ఎపిసోడ్ విడుదలైనప్పుడు, మేము ప్రతి చందాదారుని నవీకరిస్తాము.

దురదృష్టవశాత్తు, అంబర్ నేను చేసినంత పోడ్‌కాస్ట్‌ను ఆస్వాదించలేదు మరియు చందాను తొలగించాలని నిర్ణయించుకుంటాడు. చందాదారుల జాబితా నుండి ఆమెను తొలగించడానికి మేము remove_subscriber పద్ధతిని ఉపయోగిస్తాము.

Yay! మీరు అబ్జర్వర్ నమూనాను నేర్చుకున్నారు!

అబ్జర్వర్ నమూనా వెనుక డిజైన్ సూత్రం.

అబ్జర్వర్ నమూనా లూస్ కప్లింగ్ డిజైన్ సూత్రాన్ని ఉపయోగిస్తుంది:

సంకర్షణ చెందే వస్తువుల మధ్య వదులుగా కపుల్డ్ డిజైన్ల కోసం ప్రయత్నిస్తారు.

పోడ్కాస్ట్ తరగతికి దాని చందాదారుల గురించి పెద్దగా తెలియదు. ప్రతి చందాదారుడికి నవీకరణ పద్ధతి ఉందని మాత్రమే తెలుసు.

ఈ వదులుగా కలపడం పోడ్‌కాస్ట్ మరియు దాని చందాదారుల మధ్య ఆధారపడటాన్ని తగ్గిస్తుంది. ఇది వశ్యతను కూడా పెంచుతుంది. ఇది నవీకరణ పద్ధతిని కలిగి ఉన్నంతవరకు, చందాదారుడు ఏదైనా కావచ్చు: మానవుడు, ప్రజల సమూహం, జంతువు లేదా కారు కూడా.

takeaways:

  1. అబ్జర్వర్ సరళి వస్తువుల మధ్య ఒకటి నుండి అనేక ఆధారపడటాన్ని నిర్వచిస్తుంది, తద్వారా ఒక వస్తువు స్థితిని మార్చినప్పుడు, దానిపై ఆధారపడిన వారందరికీ స్వయంచాలకంగా తెలియజేయబడుతుంది మరియు నవీకరించబడుతుంది.
  2. వదులుగా కలపడం రూపకల్పన సూత్రం: సంకర్షణ చెందే వస్తువుల మధ్య వదులుగా కపుల్డ్ డిజైన్ల కోసం ప్రయత్నిస్తారు.

చదివినందుకు ధన్యవాదములు. మీరు ఆలోచించగల అబ్జర్వర్ నమూనా యొక్క ఇతర నిజ జీవిత ఉదాహరణలు ఏమైనా ఉన్నాయా?

నేను వారానికి sihui.io కు ప్రచురిస్తున్నాను.

సభ్యత్వాన్ని పొందండి కాబట్టి మీరు సిరీస్ నుండి తదుపరి కథనాన్ని కోల్పోరు.

తదుపరిసారి మనం దీని గురించి మాట్లాడుతాము…