ፅሁፎች

የንድፍ ቅጦች Vs SOLID መርሆዎች፣ ጥቅሞች እና ጉዳቶች

የንድፍ ንድፎች በሶፍትዌር ዲዛይን ውስጥ በተደጋጋሚ ለሚፈጠሩ ችግሮች ልዩ ዝቅተኛ ደረጃ መፍትሄዎች ናቸው.

የንድፍ ንድፎች ለብዙ ፕሮጀክቶች ሊተገበሩ የሚችሉ እንደገና ጥቅም ላይ ሊውሉ የሚችሉ መፍትሄዎች ናቸው.

የሚገመተው የንባብ ጊዜ፡- 5 ደቂቃ

በንድፍ ቅጦች እና በ SOLID መርሆዎች መካከል ዋና ልዩነቶች

  1. የንድፍ ንድፍ፡
    • የተወሰኑ መፍትሄዎች፡ የንድፍ ንድፎች የተወሰኑ፣ ዝቅተኛ ደረጃ በሶፍትዌር ዲዛይን ውስጥ ለሚፈጠሩ ተደጋጋሚ ችግሮች መፍትሄዎች ናቸው።
    • የትግበራ ዝርዝሮች፡ የተለመዱ ነገሮችን ተኮር የፕሮግራም አወጣጥ ፈተናዎችን ለመፍታት ተጨባጭ የትግበራ መመሪያዎችን ያቅርቡ።
    • ምሳሌዎች፡ አንዳንድ የታወቁ የንድፍ ቅጦች ነጠላቶን፣ የፋብሪካ ዘዴ እና አስማሚ ቅጦችን ያካትታሉ።
    • ደህንነት፡ የንድፍ ንድፎቹ የተሞከሩ እና በህብረተሰቡ ዘንድ ተቀባይነት ያለው በመሆኑ ለመከተል አስተማማኝ ያደርጋቸዋል።
  2. SOLID መርሆዎች፡-
    • አጠቃላይ መመሪያዎች፡ የ SOLID መርሆዎች ጥሩ የሶፍትዌር ዲዛይን የሚያሳውቁ ከፍተኛ ደረጃ መመሪያዎች ናቸው።
    • ሊመዘን የሚችል አርክቴክቸር፡- እነሱ የሚያተኩሩት በመጠን (ሚዛን)፣ በቆይታ እና በተነባቢነት ላይ ነው።
    • ከቋንቋ ጋር ያልተያያዘ፡ የ ​​SOLID መርሆዎች ለየትኛውም የፕሮግራም አወጣጥ ቋንቋ የተሳሰሩ አይደሉም።
    • ምሳሌዎች
      • ነጠላ የኃላፊነት መርህ (SRP): አንድ ክፍል ለመለወጥ አንድ ምክንያት ብቻ ሊኖረው ይገባል.
      • ክፍት/ዝጋ መርህ (ኦሲፒ)፡- የሶፍትዌር አካላት ለማራዘም ክፍት መሆን አለባቸው ግን ለመቀየር ግን ዝግ መሆን አለባቸው።
      • የሊስኮቭ ምትክ መርህ (LSP)፡- ንዑስ ዓይነቶች በመሠረታዊ ዓይነታቸው መተካት አለባቸው።
      • የበይነገጽ መለያየት መርህ (አይኤስፒ)፡ ደንበኞች በማይጠቀሙባቸው በይነገጽ ላይ ጥገኛ እንዲሆኑ መገደድ የለባቸውም።
      • የጥገኝነት ተገላቢጦሽ መርህ (DIP): ከፍተኛ-ደረጃ ሞጁሎች ዝቅተኛ-ደረጃ ሞጁሎች ላይ የተመካ መሆን የለበትም; ሁለቱም በአብስትራክት ላይ የተመሰረቱ መሆን አለባቸው.

በማጠቃለያው የንድፍ ንድፎች የተወሰኑ መፍትሄዎችን ይሰጣሉ, የ SOLID መርሆዎች ለተሻለ የሶፍትዌር ዲዛይን አጠቃላይ መመሪያዎችን ይሰጣሉ

የንድፍ ንድፎችን የመጠቀም ጥቅሞች

  • እንደገና ጥቅም ላይ ሊውል የሚችልየንድፍ ንድፎች ለብዙ ፕሮጀክቶች ሊተገበሩ የሚችሉ እንደገና ጥቅም ላይ ሊውሉ የሚችሉ መፍትሄዎች ናቸው. የተመሰረቱ ንድፎችን በመጠቀም ገንቢዎች ለተለመዱ ችግሮች መንኮራኩሩን እንደገና ማደስ ስለማያስፈልጋቸው ጊዜ እና ጥረት ይቆጥባሉ።
  • Defiየሕንፃ ጥበብየንድፍ ቅጦች ይረዳሉ defiየሶፍትዌር ስርዓቱን አርክቴክቸር ማጥራት። የተወሰኑ የንድፍ ችግሮችን ለመፍታት የተዋቀረ አቀራረብን ያቀርባሉ, ወጥነት እና ጥገናን ያረጋግጣል.
  • Flessibilitàአብነቶች ከተለዋዋጭ ፍላጎቶች ጋር መላመድን ይፈቅዳሉ። አዲስ ባህሪያት ወይም ለውጦች አስፈላጊ ሲሆኑ ገንቢዎች አጠቃላይ ስርዓቱን ሳይጥሱ ያሉትን አብነቶች ማሻሻል ወይም ማራዘም ይችላሉ።

የንድፍ ንድፎችን የመጠቀም ጉዳቶች

  • የመማሪያ ጥምዝየንድፍ ንድፎችን መረዳት እና መተግበር እውቀት እና ልምድ ይጠይቃል. ጀማሪ ገንቢዎች ፅንሰ-ሀሳቦቹን ለመረዳት እና ለአንድ ችግር ትክክለኛውን ሞዴል ለመምረጥ አስቸጋሪ ሊሆንባቸው ይችላል።
  • ከመጠን በላይ መጠቀም: በቀላሉ የሚገኙ የንድፍ ንድፎችን መኖሩ ሁሉንም ችግሮች አሁን ያሉትን ንድፎች በመጠቀም መፍታት ይቻላል ወደሚል የተሳሳተ ግንዛቤ ሊያመራ ይችላል. አብነቶችን ከመጠን በላይ መጠቀም ፈጠራን ሊገድብ እና የተሻሉ እና የበለጠ አዳዲስ መፍትሄዎችን ፍለጋን ሊያደናቅፍ ይችላል።
  • ውስብስብነት- አንዳንድ የንድፍ ንድፎች ተጨማሪ ውስብስብነት ወደ ኮድ መሠረት ያስተዋውቃሉ. ገንቢዎች ስርዓተ-ጥለትን በብቃት በመጠቀም እና ኮድ ለመረዳት እንዲቻል በማድረግ መካከል ሚዛን ማግኘት አለባቸው።

በማጠቃለያው የንድፍ ቅጦች ከእንደገና ጥቅም ላይ ከመዋሉ, ከሥነ ሕንፃ እና ከተለዋዋጭነት አንፃር ጉልህ ጥቅሞችን ይሰጣሉ, ነገር ግን አጠቃቀማቸው አላስፈላጊ ውስብስብነትን ለማስወገድ እና ፈጠራን ለማስፋፋት ምክንያታዊ መሆን አለበት.

የንድፍ ንድፍ ምሳሌ በላራቬል፡ ነጠላቶን

የነጠላቶን ንድፍ ንድፍ አንድ ክፍል አንድ ምሳሌ ብቻ እንዳለው እና አንድ ነጠላ የመግቢያ ነጥብ እንደሚያቀርብ ያረጋግጣል። በላራቬል ውስጥ, ይህ ሞዴል ብዙውን ጊዜ እንደ የውሂብ ጎታ ግንኙነቶች ወይም የውቅረት ቅንጅቶችን የመሳሰሉ ሃብቶችን ለማስተዳደር ያገለግላል.

በ PHP ውስጥ የ Singleton ጥለት አተገባበር መሰረታዊ ምሳሌ እዚህ አለ፡-

የኢኖቬሽን ጋዜጣ
በፈጠራ ላይ በጣም አስፈላጊ የሆነውን ዜና እንዳያመልጥዎት። በኢሜል ለመቀበል ይመዝገቡ።

<?php
ክፍል ነጠላቶን {
የግል የማይንቀሳቀስ $ ምሳሌ = ባዶ;

የግል ተግባር __ግንባታ() {
// ቀጥተኛ ፈጣን መከላከልን ለመከላከል የግል ገንቢ
}

ይፋዊ የማይንቀሳቀስ ተግባር getInstance(): ራስን {
ከሆነ ( ባዶ === ራስን :: $ ምሳሌ) {
ራስን ::$ ምሳሌ = አዲስ ራስን ();
}
ራስን መመለስ::$ ምሳሌ;
}

// ሌሎች ዘዴዎች እና ንብረቶች እዚህ ሊጨመሩ ይችላሉ
}

// አጠቃቀም፡
$singletonInstance = ነጠላቶን :: getInstance ();
// አሁን የ Singleton ክፍል አንድ ነጠላ ምሳሌ አለዎት

// የላራቬል አጠቃቀም ምሳሌ፡-
$ ጎታ = DB :: ግንኙነት ('mysql');
// የውሂብ ጎታ ግንኙነት ምሳሌ (ነጠላ) ያውጡ

በናሙና ኮድ ውስጥ፡-

  • የ Singleton ክፍል ቀጥተኛ ቅጽበታዊ ለመከላከል የግል ገንቢ አለው;
  • የ GetInstance () ዘዴ የክፍሉ አንድ ምሳሌ ብቻ መኖሩን ያረጋግጣል።
  • እንደ አስፈላጊነቱ ሌሎች ዘዴዎችን እና ንብረቶችን ወደ Singleton ክፍል ማከል ይችላሉ;


የላራቬል አገልግሎት ኮንቴይነር የክፍል ጥገኝነቶችን ለመቆጣጠር እና የጥገኝነት መርፌን ለማከናወን የነጠላቶን ንድፍ ይጠቀማል። በLaravel ውስጥ የሚሰሩ ከሆነ የአገልግሎት ኮንቴይነሩን ለመጠቀም ያስቡበት እና ለበለጠ የላቁ የአጠቃቀም ጉዳዮች ክፍልዎን ከአገልግሎት ሰጪ ጋር ያስመዝግቡ።

Ercole Palmeri

የኢኖቬሽን ጋዜጣ
በፈጠራ ላይ በጣም አስፈላጊ የሆነውን ዜና እንዳያመልጥዎት። በኢሜል ለመቀበል ይመዝገቡ።

የቅርብ ጊዜ ጽሁፎች

የመስመር ላይ ክፍያዎች፡ የዥረት አገልግሎቶች እንዴት ለዘላለም እንዲከፍሉ እንደሚያደርጉ እነሆ

በሚሊዮን የሚቆጠሩ ሰዎች ወርሃዊ የደንበኝነት ምዝገባ ክፍያዎችን በመክፈል ለዥረት አገልግሎቶች ይከፍላሉ። እርስዎ እንደሚሉት የተለመደ አስተያየት ነው…

29 April 2024

Veeam ከጥበቃ እስከ ምላሽ እና ማገገሚያ ድረስ ለቤዛዌር በጣም አጠቃላይ ድጋፍን ያቀርባል

Coveware by Veeam የሳይበር ዘረፋ የአደጋ ምላሽ አገልግሎቶችን መስጠቱን ይቀጥላል። Coveware የፎረንሲክስ እና የማገገሚያ ችሎታዎችን ያቀርባል…

23 April 2024

አረንጓዴ እና ዲጂታል አብዮት፡- የመተንበይ ጥገና የነዳጅ እና ጋዝ ኢንዱስትሪን እንዴት እየለወጠ ነው።

የመተንበይ ጥገና የዘይት እና ጋዝ ዘርፉን አብዮት እያደረገ ነው፣ ለዕፅዋት አስተዳደር ፈጠራ እና ንቁ አቀራረብ።…

22 April 2024

የዩኬ ፀረ እምነት ተቆጣጣሪ የBigTech ማንቂያ በጄኔአይ ላይ ያስነሳል።

የዩኬ ሲኤምኤ ስለ ቢግ ቴክ ባህሪ በአርቴፊሻል ኢንተለጀንስ ገበያ ላይ ማስጠንቀቂያ ሰጥቷል። እዚያ…

18 April 2024

ፈጠራን በቋንቋዎ ያንብቡ

የኢኖቬሽን ጋዜጣ
በፈጠራ ላይ በጣም አስፈላጊ የሆነውን ዜና እንዳያመልጥዎት። በኢሜል ለመቀበል ይመዝገቡ።

ይከተሉን