Запитання з тегом «single-responsibility»

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

16
Використовуючи Принцип єдиної відповідальності, що являє собою "відповідальність?"
Здається, досить зрозуміло, що "Принцип єдиної відповідальності" не означає "лише одне". Ось для чого методи. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } Боб Мартін каже, що "заняття повинні мати лише одну причину для зміни". Але це …

12
Чи порушує конструктор, який підтверджує свої аргументи, SRP?
Я намагаюся максимально дотримуватися Принципу єдиної відповідальності (СРП) і звик до певної моделі (для СРП щодо методів), сильно покладаючись на делегатів. Мені хотілося б знати, чи є такий підхід обгрунтованим чи є якісь серйозні проблеми з ним. Наприклад, щоб перевірити вхід до конструктора, я міг би ввести наступний метод ( …

8
Як у класі може бути кілька методів, не порушуючи принципу єдиної відповідальності
Принцип єдиної відповідальності визначається у wikipedia як Принцип єдиної відповідальності - це принцип комп’ютерного програмування, який стверджує, що кожен модуль, клас чи функція повинні нести відповідальність за окрему частину функціональних можливостей, що надаються програмним забезпеченням, і ця відповідальність повинна бути повністю капсульована класом Якщо клас повинен мати лише одну відповідальність, …

11
Чи порушує цей дизайн класу принцип єдиної відповідальності?
Сьогодні я мав сварку з кимось. Я пояснював переваги створення багатої доменної моделі на відміну від анемічної доменної моделі. І я продемонстрував свою думку простим класом, який виглядає так: public class Employee { public Employee(string firstName, string lastName) { FirstName = firstName; LastName = lastname; } public string FirstName { …

8
Як я можу довести чи спростувати "Божі об'єкти" неправильно?
Зміст проблеми: Коротше кажучи, я успадкував кодову базу та команду розробників, яку мені не дозволяють замінювати, і використання об'єктів God є великою проблемою. Йдучи вперед, я хочу, щоб ми переосмислили речі, але я отримую відштовхування від команд, які хочуть зробити все з об'єктами Бога, "бо це простіше", а це означає, …

7
Принцип єдиної відповідальності - як я можу уникнути фрагментації коду?
Я працюю над командою, де керівник команди є щирим прихильником принципів розвитку SOLID. Однак йому не вистачає великого досвіду виведення складного програмного забезпечення з дверей. У нас є ситуація, коли він застосував SRP до того, що вже було досить складною базою коду, яка тепер стала дуже сильно фрагментованою і важкою …

7
Керування та організація масово збільшеної кількості занять після переходу на SOLID?
Протягом останніх декількох років ми поступово переходимо до прогресивно вдосконаленого письмового коду, кілька кроків дитини одночасно. Ми нарешті починаємо переходити на щось, що принаймні нагадує СОЛІД, але ми ще не зовсім там. З моменту переходу, одна з найбільших скарг розробників полягає в тому, що вони не витримують експертного огляду та …

8
Яка реальна відповідальність класу?
Мені цікаво, чи законним є використання дієслів, заснованих на іменниках в ООП. Я зіткнувся з цією блискучою статтею , хоча я все ще не згоден з моментом, який вона висуває. Щоб пояснити проблему трохи більше, у статті зазначено, що FileWriterкласу не повинно бути, наприклад , але написання є дією, це …

10
Застосування принципу єдиної відповідальності
Нещодавно у мене виникла начебто тривіальна архітектурна проблема. У мене був простий сховище в коді, який називався так (код знаходиться в C #): var user = /* create user somehow */; _userRepository.Add(user); /* do some other stuff*/ _userRepository.SaveChanges(); SaveChanges була простою обгорткою, яка здійснює зміни в базі даних: void SaveChanges() …

8
Чи додавання типу повернення до методу оновлення порушує "Принцип єдиної відповідальності"?
У мене є метод, який оновлює дані співробітників у базі даних. EmployeeКлас незмінний, так що «оновлення» кошти об'єкта на насправді для створення екземпляра нового об'єкта. Я хочу, щоб Updateметод повертав новий екземпляр Employeeіз оновленими даними, але оскільки тепер я можу сказати, що відповідальність методу полягає вEmployee тому, щоб оновити дані …

11
Переконайтесь, що кожен клас несе лише одну відповідальність, чому?
Відповідно до документації Microsoft, статті статті Wikipedia SOLID або більшості ІТ-архітекторів, ми повинні гарантувати, що кожен клас несе лише одну відповідальність. Мені хотілося б знати, чому, якщо всі, здається, згодні з цим правилом, схоже, ніхто не погоджується з причинами цього правила. Деякі кажуть, що це краще обслуговування, деякі кажуть, що …

8
Як визначити, чи відповідає клас єдиному принципу відповідальності?
Принцип єдиної відповідальності базується на принципі високої згуртованості. Різниця між ними полягає в тому, що високо згуртовані класи мають набір обов'язків, які тісно пов'язані між собою, тоді як класи, які дотримуються SRP, несуть лише одну відповідальність. Але як ми можемо визначити, чи відповідає певний клас набором обов'язків і таким чином …

12
Коли парадигма «Зробити одну річ» стає шкідливою?
Хочете вдосконалити цю посаду? Надайте детальні відповіді на це запитання, включаючи цитати та пояснення, чому ваша відповідь правильна. Відповіді без достатньої кількості деталей можуть бути відредаговані або видалені. Це запитання було перенесено із переповнення стека, оскільки на нього можна відповісти на Exchange Stack Exchange. Мігрували 8 років тому . Для …

10
Чи може / чи повинен застосовуватися Принцип єдиної відповідальності до нового коду?
Принцип визначається як модулі, які мають одну причину зміни . Моє запитання: напевно ці причини зміни не відомі, поки код фактично не почне змінюватися ?? Насправді, кожен фрагмент коду має численні причини, чому він міг би змінитися, але, безумовно, спроба передбачити все це та спроектувати ваш код, маючи на увазі, …

4
У чому різниця між принципом єдиної відповідальності та розділенням проблем
а) Яка різниця між SRP та SoC ? Можливо, що SRP застосовується на рівні класу, тоді як SoC може застосовуватися на рівні системи , підсистеми , модуля , класу або функції . б) Якщо відповідь на " а" - так, то чи застосовується SoC на рівні класу синонім SRP ? …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.