Принсипҳои асосии консепсияи SOLID ва таъсири онҳо ба таҳияи системаҳои нармафзорро шарҳ диҳед.
sobes.tech AI
Ҷавоб аз AI
Принципҳои SOLID — ин маҷмӯи панҷ принсипи асосии тарҳи объектӣ мебошанд, ки кӯмак мекунанд системаҳоро чандир, васеъшаванда ва нигоҳдории осон созанд:
-
Принсипи масъулияти ягона (SRP) — Ҳар синф бояд танҳо як сабаби тағирот дошта бошад, яъне барои вазифаи муайян масъул бошад.
-
Принсипи кушод/баста (OCP) — Синфҳо бояд барои васеъшавӣ кушода, аммо барои тағирот баста бошанд.
-
Принсипи ивазкунии Лисков (LSP) — Объектҳои синфи зер бояд метавонанд ҷойгузини объектҳои синфи асосӣ бошанд бе вайрон кардани дурустии барнома.
-
Принсипи ҷудоии интерфейсҳо (ISP) — Мизоҷон набояд аз интерфейсҳое, ки онҳо истифода намебаранд, вобаста бошанд. Беҳтар аст, ки чандин интерфейси махсусгардоштаро дошта бошанд, на як умумӣ.
-
Принсипи инверсияи вобастагиҳо (DIP) — Модулҳои сатҳи боло набояд аз модулҳои сатҳи поён вобаста бошанд; ҳарду бояд вобаста ба абстраксияҳо бошанд.
Таъсир ба таҳия:
- Беҳтар кардани хонданпазирӣ ва нигоҳдории коди.
- Осон кардани санҷиш ва рефакторинг.
- Имкон медиҳад, ки функсионалиро ба осонӣ васеъ кардан бе тағир додани коди мавҷуда.
Маслиҳат барои SRP:
// Нодуруст: синф логика ва баромадро идора мекунад
class Report {
public string Data { get; set; }
public void Print() { /* баромад дар экран */ }
}
// Дуруст: ҷудо кардани масъулиятҳо
class Report {
public string Data { get; set; }
}
class ReportPrinter {
public void Print(Report report) { /* баромад дар экран */ }
}