Вопросы по теме 'single-responsibility-principle'
Разве информационный эксперт и советник «Не спрашивайте» расходятся с принципом единственной ответственности?
Эксперт по информации , Не спрашивай и SRP часто упоминаются вместе как лучшие практики. Но я думаю, что они расходятся. Вот о чем я говорю.
Код, который поддерживает SRP, но нарушает правила Tell-Don't-Ask и Info-Expert:
Customer bob =...
2911 просмотров
schedule
27.12.2022
Как вы определяете, насколько крупной или детальной должна быть «ответственность» при использовании принципа единой ответственности?
В SRP «ответственность» обычно описывается как «причина для изменения», так что каждый класс (или объект?) Должен иметь только одну причину, по которой кто-то должен пойти туда и изменить его.
Но если вы подойдете к этому вопросу до мелочей, вы...
1831 просмотров
schedule
16.05.2023
Принцип единой ответственности — сложный пример?
Я только что прочитал о принципе единой ответственности, и в какой-то момент Роберт С. Мартин заявил, что иногда трудно увидеть, что у класса есть более одной ответственности.
Может ли кто-нибудь привести пример такого класса?
818 просмотров
schedule
09.07.2022
Шаблоны проектирования для кэширования изображений в MVC?
Я разрабатываю систему кэширования изображений, которая будет использоваться в CMS MVC. Основное назначение кэшера изображений — изменять изображения: масштабировать, обрезать и т. д. и кэшировать их на клиентском сайте.
Я создал модель кэша...
353 просмотров
schedule
02.03.2023
Является ли принцип разделения интерфейса только заменой принципа единой ответственности?
Является ли принцип разделения интерфейса только заменой принципа единой ответственности?
Я думаю, что если мой класс выполняет SRP, нет необходимости извлекать более одного интерфейса.
Таким образом, ISP выглядит как решение на случай, если по...
2376 просмотров
schedule
06.12.2022
Нарушает ли класс CommaDelimLog в следующем коде принцип единой ответственности?
Программа анализирует лог-файлы - каждый лог-файл может иметь разный формат полей (фиксированная ширина, разделители-запятые и т. д.). Кроме того, каждый файл журнала состоит из нескольких разных типов журналов - каждый вид имеет различное...
115 просмотров
schedule
25.12.2022
Метод рефакторинга по принципу единой ответственности
Мне нужно протестировать программу контрактных обязательств. Я не вижу простого способа протестировать этот метод в том виде, в каком он написан. Это нарушает принцип единой ответственности и просто делает слишком много вещей. Я бы знал ,...
272 просмотров
schedule
16.06.2023
Согласованный способ проверки класса в Scala с использованием Scalaz 7
Моя цель — проверить поля User в apply методе object перед созданием одного эффективного экземпляра User :
case class User(String userName, String password)
object User {
def apply(userValidator: UserValidator):...
708 просмотров
schedule
26.11.2022
Нарушает ли один дочерний элемент, реализующий интерфейс, а другой нет, принцип подстановки Лисков?
Недавно я думал о принципе замещения Лискова и о том, как он связан с моей текущей задачей. У меня есть основная форма, содержащая меню; в эту основную форму я закреплю конкретную форму как дочернюю MDI. Эта конкретная форма может содержать или не...
169 просмотров
schedule
16.06.2023
Выбор дизайна OO и принцип единой ответственности
В настоящее время я занимаюсь рефакторингом приложения, которое по сути периодически загружает контент из различных источников (http, ftp, sql и т. Д.). Существует расписание, которое контролирует время, в течение которого приложение может быть...
180 просмотров
schedule
28.07.2022
Принцип единой ответственности
Это вопрос из прошлой статьи.
В приведенном выше вопросе я думаю, что есть три обязанности: одна для обновления записей о сотрудниках, одна для расчета заработной платы и налогов и одна для получения часовых отчетов. Я бы реорганизовал...
75 просмотров
schedule
24.06.2023
Android - отделите асинхронный http-код от активности в соответствии с принципами SOLID.
Я хочу отделить асинхронный http-код от действий, поскольку я повторно использую код. Вот чем я сейчас занимаюсь:
Я хочу получить список проектов из REST API и сохранить его в массиве. (Предположим, я не использую локальное кеширование, так как...
167 просмотров
schedule
29.01.2023
Понимание принципа единой ответственности с помощью этого реального фрагмента кода
Поэтому, когда вы пытаетесь обучить себя принципу единой ответственности, вы, скорее всего, встретите такие определения, как « Один метод должен делать только одно ». и « Один класс должен быть только одной причиной для изменения ». И потом всегда...
181 просмотров
schedule
18.12.2022
Как запретить прямой доступ к моему контексту базы данных и направить весь доступ через одну точку?
Сценарий
У меня есть класс UserContext , выступающий в качестве шлюза к базе данных.
public class UserContext : DbContext
{
public DbSet<User> Users { get; set; }
}
Я хочу ограничить прямой доступ к базе данных (т. е....
255 просмотров
schedule
14.08.2023
классы с методами CRUD, нарушающими принцип единой ответственности?
Я пытаюсь понять принцип единственной ответственности. У меня следующие вопросы.
Принцип единой ответственности (SRP) гласит, что для изменения класса никогда не должно быть более одной причины. Обычно наши классы ресурсов, службы и...
1564 просмотров
schedule
31.05.2023
Какова сфера действия принципа единой ответственности?
Другой инженер на моей работе спросил меня сегодня о том, "что это за единственная ответственность?" и мой ответ был следующим:
«Каждая область действия вашего кода, будь то оператор if, функция, класс или модуль, должна иметь одну причину для...
390 просмотров
schedule
20.02.2023
Путаница в отношении единственной ответственности в ООП
Рассмотрим следующий пример:
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 просмотров
schedule
20.07.2022
Нарушаю ли я SRP, используя наследование?
Я пытаюсь понять SRP (принцип единой ответственности). Ниже приведен пример кода:
public interface IInventoryManager
{
int GetInboundItemsCount();
int GetOutboundItemsCount();
}
public class GoodInventoryManager : IInventoryManager
{...
104 просмотров
schedule
17.03.2023
Соответствуют ли классы, которые устанавливают, получают и вычисляют данные, букве S в SOLID?
Предположим, я живу в стране, где каждая марка автомобиля имеет свою налоговую ставку, и у меня есть базовый класс под названием Car :
public class Car{
public string CarType { get; set;}
public int Year {get; set;}
public abstract...
29 просмотров
schedule
14.04.2022