Вопросы по теме 'single-responsibility-principle'

Разве информационный эксперт и советник «Не спрашивайте» расходятся с принципом единственной ответственности?
Эксперт по информации , Не спрашивай и SRP часто упоминаются вместе как лучшие практики. Но я думаю, что они расходятся. Вот о чем я говорю. Код, который поддерживает SRP, но нарушает правила Tell-Don't-Ask и Info-Expert: Customer bob =...
2911 просмотров

Как вы определяете, насколько крупной или детальной должна быть «ответственность» при использовании принципа единой ответственности?
В SRP «ответственность» обычно описывается как «причина для изменения», так что каждый класс (или объект?) Должен иметь только одну причину, по которой кто-то должен пойти туда и изменить его. Но если вы подойдете к этому вопросу до мелочей, вы...
1831 просмотров

Принцип единой ответственности — сложный пример?
Я только что прочитал о принципе единой ответственности, и в какой-то момент Роберт С. Мартин заявил, что иногда трудно увидеть, что у класса есть более одной ответственности. Может ли кто-нибудь привести пример такого класса?
818 просмотров
schedule 09.07.2022

Шаблоны проектирования для кэширования изображений в MVC?
Я разрабатываю систему кэширования изображений, которая будет использоваться в CMS MVC. Основное назначение кэшера изображений — изменять изображения: масштабировать, обрезать и т. д. и кэшировать их на клиентском сайте. Я создал модель кэша...
353 просмотров

Является ли принцип разделения интерфейса только заменой принципа единой ответственности?
Является ли принцип разделения интерфейса только заменой принципа единой ответственности? Я думаю, что если мой класс выполняет SRP, нет необходимости извлекать более одного интерфейса. Таким образом, ISP выглядит как решение на случай, если по...
2376 просмотров

Нарушает ли класс CommaDelimLog в следующем коде принцип единой ответственности?
Программа анализирует лог-файлы - каждый лог-файл может иметь разный формат полей (фиксированная ширина, разделители-запятые и т. д.). Кроме того, каждый файл журнала состоит из нескольких разных типов журналов - каждый вид имеет различное...
115 просмотров

Метод рефакторинга по принципу единой ответственности
Мне нужно протестировать программу контрактных обязательств. Я не вижу простого способа протестировать этот метод в том виде, в каком он написан. Это нарушает принцип единой ответственности и просто делает слишком много вещей. Я бы знал ,...
272 просмотров

Согласованный способ проверки класса в Scala с использованием Scalaz 7
Моя цель — проверить поля User в apply методе object перед созданием одного эффективного экземпляра User : case class User(String userName, String password) object User { def apply(userValidator: UserValidator):...
708 просмотров

Нарушает ли один дочерний элемент, реализующий интерфейс, а другой нет, принцип подстановки Лисков?
Недавно я думал о принципе замещения Лискова и о том, как он связан с моей текущей задачей. У меня есть основная форма, содержащая меню; в эту основную форму я закреплю конкретную форму как дочернюю MDI. Эта конкретная форма может содержать или не...
169 просмотров

Выбор дизайна OO и принцип единой ответственности
В настоящее время я занимаюсь рефакторингом приложения, которое по сути периодически загружает контент из различных источников (http, ftp, sql и т. Д.). Существует расписание, которое контролирует время, в течение которого приложение может быть...
180 просмотров

Принцип единой ответственности
Это вопрос из прошлой статьи. В приведенном выше вопросе я думаю, что есть три обязанности: одна для обновления записей о сотрудниках, одна для расчета заработной платы и налогов и одна для получения часовых отчетов. Я бы реорганизовал...
75 просмотров
schedule 24.06.2023

Android - отделите асинхронный http-код от активности в соответствии с принципами SOLID.
Я хочу отделить асинхронный http-код от действий, поскольку я повторно использую код. Вот чем я сейчас занимаюсь: Я хочу получить список проектов из REST API и сохранить его в массиве. (Предположим, я не использую локальное кеширование, так как...
167 просмотров

Понимание принципа единой ответственности с помощью этого реального фрагмента кода
Поэтому, когда вы пытаетесь обучить себя принципу единой ответственности, вы, скорее всего, встретите такие определения, как « Один метод должен делать только одно ». и « Один класс должен быть только одной причиной для изменения ». И потом всегда...
181 просмотров

Как запретить прямой доступ к моему контексту базы данных и направить весь доступ через одну точку?
Сценарий У меня есть класс UserContext , выступающий в качестве шлюза к базе данных. public class UserContext : DbContext { public DbSet<User> Users { get; set; } } Я хочу ограничить прямой доступ к базе данных (т. е....
255 просмотров

классы с методами CRUD, нарушающими принцип единой ответственности?
Я пытаюсь понять принцип единственной ответственности. У меня следующие вопросы. Принцип единой ответственности (SRP) гласит, что для изменения класса никогда не должно быть более одной причины. Обычно наши классы ресурсов, службы и...
1564 просмотров

Какова сфера действия принципа единой ответственности?
Другой инженер на моей работе спросил меня сегодня о том, "что это за единственная ответственность?" и мой ответ был следующим: «Каждая область действия вашего кода, будь то оператор if, функция, класс или модуль, должна иметь одну причину для...
390 просмотров

Путаница в отношении единственной ответственности в ООП
Рассмотрим следующий пример: class User { } class FirstUseNotification { function show(User user) { // check if it was already shown, return if so // show a notification // mark it as shown in the db or whatever...
106 просмотров

Нарушаю ли я SRP, используя наследование?
Я пытаюсь понять SRP (принцип единой ответственности). Ниже приведен пример кода: public interface IInventoryManager { int GetInboundItemsCount(); int GetOutboundItemsCount(); } public class GoodInventoryManager : IInventoryManager {...
104 просмотров

Соответствуют ли классы, которые устанавливают, получают и вычисляют данные, букве S в SOLID?
Предположим, я живу в стране, где каждая марка автомобиля имеет свою налоговую ставку, и у меня есть базовый класс под названием Car : public class Car{ public string CarType { get; set;} public int Year {get; set;} public abstract...
29 просмотров