Вопросы с тегом «single-responsibility»

15
Должен ли я рефакторинг больших функций, которые в основном состоят из одного регулярного выражения? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я только что написал функцию, которая занимает примерно 100 строк. Услышав...

14
Насколько конкретным должен быть шаблон единой ответственности для классов?

Например, предположим, что у вас есть консольная игровая программа, которая имеет все виды методов ввода / вывода в консоль и из консоли. Будет ли это быть умным , чтобы держать их все в одном inputOutputклассе или разбить их на более конкретных классы , как startMenuIO, inGameIO, playerIO,...

13
Следуют ли SOLID чтению и записи файлов две разные обязанности?

Я только начинаю изучать SOLID, и я не уверен, что чтение из файлов и запись в файлы являются одной и той же ответственностью. Цель имеет тот же тип файла; Я хочу читать и писать .pdf в моем приложении. Приложение на Python, если это имеет какое-либо значение....

13
Большой класс с единственной ответственностью

У меня есть Characterкласс 2500 строк, который: Отслеживает внутреннее состояние персонажа в игре. Загружает и сохраняет это состояние. Обрабатывает ~ 30 входящих команд (обычно = перенаправляет их на Game, но некоторые команды только для чтения отвечают немедленно). Получает ~ 80 звонков Gameо...

13
Является ли субъект домена нарушением принципа единой ответственности?

Единственная ответственность (причина изменения) организации должна заключаться в том, чтобы однозначно идентифицировать себя, иными словами, ее ответственность должна быть обнаруживаемой. DDD книга Эрика Эвана, стр. 93: основная ответственность Сущностей заключается в установлении преемственности,...

12
Как избежать нарушения SRP в классе для управления кэшированием?

Примечание. Пример кода написан на c #, но это не должно иметь значения. Я поставил c # в качестве тега, потому что не могу найти более подходящий. Это о структуре кода. Я читаю Чистый код и пытаюсь стать лучшим программистом. Я часто сталкиваюсь с трудностями следования принципу единой...

12
IValidatableObject vs Single Responsibility

Мне нравится точка расширяемости MVC, позволяющая представлениям моделей реализовывать IValidatableObject и добавлять настраиваемую проверку. Я стараюсь поддерживать свои контроллеры стройными, используя этот код в качестве единственной логики проверки: if (!ModelState.IsValid) return...

12
Полезно ли мини-рефакторинг кода в надежде улучшить качество, или это просто «перемещение кода» без особой выгоды?

пример Я натолкнулся на монолитный код, который делает «все» в одном месте - загружает данные из базы данных, показывает разметку HTML, действует как маршрутизатор / контроллер / действие. Я начал применять SRP, перемещая код базы данных в собственный файл, обеспечивая лучшее именование вещей, и...

12
Работа через принцип единой ответственности (SRP) в Python, когда звонки стоят дорого

Некоторые базовые точки: Вызовы методов Python «дороги» из-за их интерпретируемой природы . Теоретически, если ваш код достаточно прост, разбивка кода Python оказывает негативное влияние, помимо читабельности и повторного использования ( что является большим преимуществом для разработчиков, а не...

11
Повторение кода против многоответственного метода

Я стараюсь следовать принципу единой ответственности (SRP), а также опускать повторения кода. Однако часто есть места, где есть повторения кода, которые являются не чем иным, как кодовыми блоками вызовов, которые устойчивы к извлечению их в по крайней мере значащий именованный метод: DoAction1();...

11
Каковы практические способы реализации SRP?

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

11
Борьба с принципом единой ответственности

Рассмотрим этот пример: У меня есть сайт. Это позволяет пользователям создавать сообщения (может быть что угодно) и добавлять теги, которые описывают сообщение. В коде у меня есть два класса, которые представляют пост и теги. Давайте назовем эти классы Postи Tag. Postзаботится о создании сообщений,...

10
Как управлять единой ответственностью, когда ответственность разделена?

У меня есть два базовых класса, Operationи Trigger. У каждого есть несколько подклассов, которые специализируются на определенных типах операций или триггеров. А Triggerможет вызвать конкретный Operation. Хотя Operationможет быть вызвано конкретным Trigger. Мне нужно написать код, который...

10
Каковы основные обязанности в объектно-ориентированном программировании?

Я новичок в объектно-ориентированном программировании, и я не понимаю, какова цель основного. Да, я читал, что это «точка входа» в программу, но я не понимаю, что должно быть в основном? И каковы его обязанности? Может случиться так, что что-то написанное в main может быть инкапсулировано в другой...

10
Когда я следую SRP, как мне поступить с проверкой и сохранением сущностей?

В последнее время я читал « Чистый код» и различные онлайн-статьи о SOLID, и чем больше я читаю об этом, тем больше чувствую, что ничего не знаю. Допустим, я создаю веб-приложение с использованием ASP.NET MVC 3. Допустим, у меня есть действие UsersControllerс таким Createдействием: public class...

10
Индивидуальная ответственность и пользовательские типы данных

В последние месяцы я просил людей здесь, на SE, и на других сайтах предлагать мне конструктивную критику в отношении моего кода. Есть кое-что, что продолжало появляться почти каждый раз, и я все еще не согласен с этой рекомендацией; : P Я бы хотел обсудить это здесь, и, возможно, мне станет...

9
Существует ли принцип интерфейса «спросите только то, что вам нужно»?

Я перешел на использование принципа проектирования и использования интерфейсов, который гласит: «просите только то, что вам нужно». Например, если у меня есть куча типов, которые можно удалить, я сделаю Deletableинтерфейс: interface Deletable { void delete(); } Тогда я могу написать общий класс:...

9
Стандартные практики для контроля доступа (шаблон проектирования)

Я смотрю на свой дизайн интерфейса и изо всех сил пытаюсь решить, какой самый «правильный» способ реализовать управление доступом на основе ролей, учитывая, что userи к subjectкоторому userхотел бы получить доступ. Насколько я вижу, у меня есть три основных варианта (четвертый - бастардизация...

9
Является ли плохой практикой для определения объекта API содержать сторонние ссылочные идентификаторы в качестве свойств?

Нравится: Campaign: type: object properties: id: type: string description: "A GUID identifier" referenceId: type: string description: "A consumers identifier they have used to map their own systems logic to this object." name: type: string description: "'Great Campaign 2017' as an example" Я...

9
Я делаю свои занятия слишком гранулированными? Как следует применять принцип единой ответственности?

Я пишу много кода, который включает в себя три основных шага. Получить данные откуда-то. Преобразуйте эти данные. Положите эти данные куда-нибудь. Я обычно заканчиваю тем, что использую три типа классов - вдохновленные их соответствующими шаблонами дизайна. Фабрики - построить объект из какого-то...