ቁልፍ ልዩነት - ድምር vs ቅንብር
Object-Oriented Programming (OOP) በሶፍትዌር ልማት ውስጥ የተለመደ ምሳሌ ነው። እቃው የክፍል ምሳሌ ነው። እቃዎችን በአንድ ጊዜ መፍጠር አይቻልም. አንድን ነገር ለመፍጠር ንድፍ ወይም መግለጫ ሊኖር ይገባል. ያ ንድፍ እንደ ክፍል ይታወቃል። አንድ ክፍል ባህሪያትን እና ዘዴዎችን ይዟል. ነገሮች የሚፈጠሩት ክፍሎችን በመጠቀም ነው። ክፍል እና ነገር በገሃዱ ዓለም ካለው እቅድ እና ቤት ጋር ተመሳሳይ ናቸው። ያለ ትክክለኛ እቅድ ቤት መገንባት አይቻልም. በተመሳሳይ, አንድ ክፍል አንድን ነገር ለመፍጠር ጥቅም ላይ ይውላል. አንድ ነገር ከሌሎች ነገሮች ጋር ይተባበራል። ከ ጋር ያለው ግንኙነት የሁለት ወይም ከዚያ በላይ ነገሮች ግንኙነትን ይወክላል "ማህበር" ተብሎ ይጠራል.ውሕደት እና ስብጥር የማኅበራት ዓይነቶች ናቸው። በክፍሎች መካከል ያለውን ግንኙነት ይገልጻሉ. ይህ ጽሑፍ በመደመር እና በማጣመር መካከል ያለውን ልዩነት ያብራራል. በመደመር እና በድርሰት መካከል ያለው ቁልፍ ልዩነት ውህደት በሁለት ነገሮች መካከል ያለው ግንኙነት ሲሆን "ግንኙነት አለው" የሚለውን የሚገልጽ ሲሆን ጥንቅር ደግሞ ባለቤትነትን የሚያመለክት የበለጠ የተለየ የውህደት አይነት ነው።
ማህበር ምንድነው?
በሁለት ነገሮች መካከል ያለው ግንኙነት በተዋሃደ የሞዴሊንግ ቋንቋ (UML) መስመር በመሳል ይታያል። ማገናኛው ማህበር ነው። UML የስርዓቱን ምስላዊ ውክልና ለማግኘት ይረዳል። ከመደበኛ የፕሮግራም ቋንቋዎች የተለየ ነው። ማህበሩ የነገሮችን መብዛት ይገልፃል። አንድ-ለአንድ፣ አንድ-ለብዙ እና ብዙ-ብዙ ናቸው። አንድ ነጠላ የክፍል A ነገር ከክፍል B ነጠላ ነገር ጋር ሲገናኝ፣ ያ የአንድ ለአንድ ግንኙነት ነው። ለምሳሌ አንድ ደራሲ መጽሐፍ ሲጽፍ ነው። በዚያ ምሳሌ ውስጥ አንድ ደራሲ መጽሐፍ እየጻፈ ነው።
አንድ የክፍል A ነገር ከብዙ የክፍል B ነገሮች ጋር ሲያያዝ የአንድ-ለብዙ ግንኙነት ነው። ለምሳሌ አንድ ክፍል ብዙ ሰራተኞች ሊኖሩት ይችላል። የክፍል A ነገር ከብዙ የክፍል B ነገሮች ጋር ሲገናኝ እና የክፍል B ነገር ከብዙ የክፍል A ነገሮች ጋር ሲገናኝ ከብዙ እስከ ብዙ ማህበር ነው. አንድ ምሳሌ አንድ ሰራተኛ በበርካታ ፕሮጀክቶች ላይ መስራት ይችላል እና አንድ ፕሮጀክት ብዙ ሰራተኞች ሊኖሩት ይችላል.
ስብስብ በነገሮች መካከል ያለውን ግንኙነት የበለጠ የሚገልጽ አይነት ማኅበር ነው። ድምር "ግንኙነት አለው" በማለት ይገልጻል። ግንኙነቱን የሚገልጹ አንዳንድ ምሳሌዎች፣ ተማሪ "የተማሪ መታወቂያ አለው"፣ ተሽከርካሪ "ኤንጂን አለው" የሚሉት ናቸው። ከግንኙነት ጋር ከፍተኛ መጠን ማስፋትም ይቻላል. አንዳንድ ምሳሌዎች፣ ባንክ "ብዙ" የባንክ ሂሳቦች አሉት፣ ክፍል "ብዙ" ተማሪዎች አሉት። ከዚህ በታች ያለውን ምሳሌ በመጠቀም ሊገለጽ ይችላል።
ምስል 01፡ ድምር
ከላይ ባለው ምሳሌ መሰረት፣ ክፍሉ ተማሪ ወይም ብዙ ተማሪዎችን ያካትታል። ብዜት ደግሞ የነገሮችን ብዛት ለማመልከት ይጠቅማል። አንድ ክፍል ብዙ ተማሪዎች እንዳሉት ይገልጻል። የአልማዝ ምልክት በ UML ውስጥ ያለውን ድምርን ይወክላል. የተማሪ ነገሮች በክፍሉ ነገር ላይ አይመሰረቱም. የክፍሉ ነገር ከተደመሰሰ የተማሪውን ነገር አይነካም። እነዚያ ነገሮች አሁንም ይኖራሉ።
ጥንቅር ምንድን ነው?
አጻጻፉ ይበልጥ ልዩ የሆነ የውህደት አይነት ነው። ባለቤትነትን ይገልፃል። ከዚህ በታች ያለውን ምሳሌ በመጠቀም ሊገለጽ ይችላል።
ስእል 02፡ ቅንብር
ከላይ ባለው መሰረት የመፅሃፉ ነገር የገፅ ነገርን ወይም ገፆችን ያካትታል። ብዜት ደግሞ የነገሮችን ብዛት ለማመልከት ይጠቅማል። አንድ ክፍል ብዙ ተማሪዎች እንዳሉት ይገልጻል። የደመቀው የአልማዝ ምልክት በ UML ውስጥ ያለውን ጥንቅር ይወክላል። መጽሐፉ አንድ ገጽ ወይም ብዙ ገፆች እንዳሉት, ድምር ነው, ነገር ግን የበለጠ ተገልጿል. የመጽሐፉ ነገር ከተበላሸ፣ የገጹ ነገሮችም እንዲሁ ይወድማሉ። የገጽ ዕቃዎች ያለ መጽሐፍ ነገር ሊኖሩ አይችሉም። ስለዚህ፣ አጻጻፉ ባለቤትነትን የሚያመለክት ይበልጥ ልዩ የሆነ የውህደት አይነት ነው።
በስብስብ እና ቅንብር መካከል ያሉ ተመሳሳይነቶች ምንድን ናቸው?
- ሁለቱም በነገር ተኮር ፕሮግራሚንግ ውስጥ ጥቅም ላይ ይውላሉ።
- ሁለቱም በUnified Modeling Language (UML) ስለ ስርዓቱ ምስላዊ ግንዛቤ ለማግኘት ጥቅም ላይ ይውላሉ።
በስብስብ እና ቅንብር መካከል ያለው ልዩነት ምንድን ነው?
ስብስብ vs ቅንብር |
|
ስብስብ በሁለት ነገሮች መካከል ያለ ግንኙነት ሲሆን እሱም "አለው" ግንኙነትን ይገልጻል። | አጻጻፉ ባለቤትነትን የሚያመለክት በጣም ልዩ የሆነ የውህደት አይነት ነው። |
UML ምልክት | |
ስብስብ በአልማዝ ይገለጻል። | ቅንብር በደመቀ አልማዝ ይገለጻል። |
ተግባር | |
በአጠቃላይ፣ የያዙት ነገር ከተበላሸ፣ በያዘው ነገር ላይ ተጽዕኖ አይኖረውም። | በቅንብር፣የባለቤትነት ነገር ከተበላሸ፣ያለውን ነገር ይነካል። |
ማጠቃለያ - ድምር vs ጥንቅር
ነገር-ተኮር ፕሮግራሚንግ በሶፍትዌር ልማት ውስጥ ዋና ምሳሌ ነው። በ OOP ውስጥ, ስርዓቱ እቃዎችን በመጠቀም ተመስሏል. እነዚህ ነገሮች በተናጥል የሉም። ዕቃዎች ከሌሎች ነገሮች ጋር ይተባበራሉ. በእቃዎች መካከል ያለው ግንኙነት ማህበር በመባል ይታወቃል. ማሰባሰብ እና ቅንብር የማህበር ዓይነቶች ናቸው። በመደመር እና በድርሰት መካከል ያለው ልዩነት መደመር በሁለት ነገሮች መካከል ያለ ግንኙነት ሲሆን እሱም "አለው" የሚለውን ግንኙነት የሚገልጽ ሲሆን ጥንቅር ደግሞ ባለቤትነትን የሚያመለክት የበለጠ የተለየ የውህደት አይነት ነው። ውህደት እና ቅንብር ሁለቱም የስርዓቱን ባህሪ ለመረዳት ይረዳሉ።
የድምር እና ቅንብር የፒዲኤፍ ስሪት ያውርዱ
የዚህን ጽሁፍ ፒዲኤፍ ስሪት አውርደው እንደ ጥቅስ ማስታወሻ ከመስመር ውጭ ዓላማ መጠቀም ይችላሉ። እባክዎ የፒዲኤፍ እትምን እዚህ ያውርዱ በውህደት እና ቅንብር መካከል ያለው ልዩነት