Различие между единственным принципом ответственности и разделением проблем

C и компиляторы C++ генерирует предупреждение при сравнении подписанных и неподписанных типов; в Вашем примере кода Вы не могли сделать свою переменную цикла неподписанной и иметь компилятор, генерируют код без предупреждений (принимающий, сказал, что предупреждения были включены).

Естественно, Вы компилируете с предупреждениями, превращенными полностью, правильно?

И, Вы полагали, что компиляция с "предупреждениями обработки как ошибки" берет его что один шаг вперед?

оборотная сторона с использованием чисел со знаком - то, что существует искушение перегрузить их так, чтобы, например, значения 0-> n были выбором пункта меню и-1 средством, которые ничто не выбрало - вместо того, чтобы создать класс, который имеет две переменные, один, чтобы указать, выбрано ли что-то и другой для хранения, каков тот выбор. Перед знанием этого Вы тестируете на отрицательный повсеместно, и компилятор жалуется на то, как Вы желаете сравнить выбор пункта меню с количеством выборов пункта меню, которые Вы имеете - но это опасно, потому что они - различные типы. Не делайте этого.

69
задан Dave Schweisguth 6 September 2014 в 13:30
поделиться

5 ответов

Принцип единой ответственности (SRP) - дать каждому классу только одну причину менять; и «Причина изменения» == "обязанность". Например: счет-фактура класс не несет ответственности печатать себя

Разделение проблем (с 1974 г.). Обеспокоенность == особенность системы. Принимая заботиться о каждой из забот: о каждой одна проблема, другие проблемы не имеет значения. Скрытие реализации поведение.

Из здесь .

34
ответ дан 24 November 2019 в 13:53
поделиться

Разделение проблем и принцип единой ответственности (SoC vs SRP)

Из статьи по ссылке:

Разделение проблем (SoC) - это процесс взлома компьютера программа в отдельные функции, которые как можно меньше пересекаются по функциональности. Обеспокоенность - это любая составляющая интереса или направленность программы. Как правило, проблемы являются синонимами функций или поведения. http://en.wikipedia.org/wiki/Separation_of_concerns

Принцип единой ответственности (SRP) - каждый объект должен нести единственную ответственность, и все его услуги должны строго соответствовать этой ответственности. На определенном уровне Сплоченность рассматривается как синоним SRP. http://en.wikipedia.org/wiki/Single_responsibility_principle

16
ответ дан 24 November 2019 в 13:53
поделиться

Единая ответственность устанавливает, что объект отвечает за единственную единицу работы.

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

] Похожие конечные результаты ... немного разные приложения.

12
ответ дан 24 November 2019 в 13:53
поделиться

На мой взгляд, принцип единой ответственности - один из инструментов / идиом для достижения разделения проблем.

11
ответ дан 24 November 2019 в 13:53
поделиться

Разделение проблем - это процесс; Принцип единой ответственности - это философия дизайна / архитектуры. Они не полностью разделены, но служат разным целям.

4
ответ дан 24 November 2019 в 13:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: