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

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

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

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

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

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

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

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

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

3
Является ли плохой практикой для определения объекта 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" Я обеспокоен ссылкой . Системный домен представляет собой платформу, …

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

2
Существует ли принцип интерфейса «спросите только то, что вам нужно»?
Я перешел на использование принципа проектирования и использования интерфейсов, который гласит: «просите только то, что вам нужно». Например, если у меня есть куча типов, которые можно удалить, я сделаю Deletableинтерфейс: interface Deletable { void delete(); } Тогда я могу написать общий класс: class Deleter<T extends Deletable> { void delete(T t) …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.