Топ питань
Часова шкала
Чат
Перспективи

SOLID (об'єктно-орієнтоване програмування)

З Вікіпедії, вільної енциклопедії

Remove ads

SOLID — це абревіатура, складена з перших літер п'яти базових принципів об'єктно-орієнтованого програмування та дизайну і запропонована Робертом Мартіном у статті 2000 року англ. Design Principles and Design Patterns[1][2].

Принципи SOLID використовують для дизайну та розробки таких програмних систем, які, з великою ймовірністю, зможуть тривалий час розвиватися, розширятися і підтримуватися.

Як зазначає сам автор, запропоновані ним принципи не є «істиною в останній інстанції», правилами, або ж суворими законами. У нього немає доказів, що вони завжди працюють, або ж, що їх слід неухильно дотримуватись. Проте, вони були сформульовані на основі спостережень і зазвичай допомагають уникнути проблем[1].

Remove ads

Опис

Узагальнити
Перспектива
Більше інформації Буква, Абревіатура ...
Remove ads

SOLID та ООП

Дані принципи дуже тісно корелюють з принципами об'єктно-орієнтованого програмування. Зокрема принцип підстановки Барбари Лісков уособлює успадкування, він може трактуватися так: об'єкт, клас якого успадкований від іншого класу, отримує методи останнього. Принцип інверсії залежностей — це більш розширене трактування поліморфізму. А принцип єдиної відповідальності тісно пов'язаний з інкапсуляцією, що також передбачає існування інкапсульованого (відокремленого) набору методів.

Remove ads

Історія та походження

Ці принципи були сформульовані Робертом Мартіном (також відомим як «Дядько Боб») і вперше представлені у його книзі «Design Principles and Design Patterns» (пізніше перейменованій на «Agile Software Development, Principles, Patterns, and Practices») у 2000 році[джерело?].

Роберт Мартін розробляв принципи SOLID на основі свого досвіду у розробці програмного забезпечення та консультуванні проектів. Він бачив, що певні структурні та організаційні проблеми в програмах збільшували складність коду, зростали витрати на зміни та розширення, і зводили нанівець практичність та переваги об'єктно-орієнтованого програмування[джерело?].

Див. також

Основні поняття та суміжні теми

Принципи проєктування та розробки

Посилання

Примітки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads