Будівельна інженерія та дизайн
Розробка висококласних класів з одним відповідальністю
Table of Contents
У розробці програмного забезпечення, створення класів, які є дуже кошейним, є важливим для побудови підтримуваних і масштабованих додатків. Принцип відповідальності (SRP) є фундаментальним напрямком, який допомагає розробникам досягти цієї мети. Він стверджує, що клас повинен мати лише одну причину, щоб змінити, значення його має зосередження на одній відповідальності або мети.
Розуміння принципів відповідальності
SRP є одним з п'яти принципів SOLID об'єктивного дизайну. Він стимулює розробників для проектування класів, які вузько фокусуються. Коли клас має декілька обов'язків, зміни в одному напрямку може неперевершено впливати на інші частини системи, що веде до помилок і підвищеної складності.
Переваги високоміцних класів
- Зміни локалізовані, зменшуючи ризик виникнення несправності.
- Покращена читабельність: Очистити клас обов’язки роблять код простіше зрозуміти.
- Забезпечена реустобілітация: Захоплені класи можуть бути використані в різних частинах програми.
- Прогностування:] Виконані обов’язки спрощують тестування блоку та розвантаження.
Стратегії для проектування кожухових класів
Для створення класи, які дотримуються СРП, розглянемо наступні стратегії:
- Визначте єдині обов'язки: Очистити визначення того, що кожен клас відповідає перед виконанням.
- Використовувати імена: Класи імен на основі їх первинної відповідальності для підвищення чіткості.
- Break: Дайд великий клас у менших, орієнтованих класах.
- Застосувати шаблони: Використовуйте візерунки, такі як Фабрична, стратегія, або Спостереження для просування одної обов'язки.
Практичний приклад
Надаючи вам можливість розробити додаток, який керує обліковими записами користувачів і надішлемо повідомлення електронної пошти. Замість створення монолітного класу, який керує як завдання, відокремлює їх:
Class 1:] UserAccountManager – відповідальний за управління даними користувачів та автентифікації.
Class 2:] EmailНез’єднання – відповідальний за композицію та надсилання електронних листів.
Цей розділ забезпечує, що кожен клас має єдину відповідальність, що робить систему простіше підтримувати і розширювати.