История изменений
Исправление Nervous, (текущая версия) :
[SRP] Имеет очень много смысла без классов
Замени класс на структуру данных или функцию — смысл останется тот же.
[OCP] за мир во всём мире
За написание нового без разламывания старого.
С LSP все понятно.
[ISP] нивелирует смысл класса.
Не уверен, что это значит, но интерфейс как набор связанных функций вполне имеет смысл и без классов. И ISP тоже.
[DIP] Можно перефразировать как „не используйте классы в качестве зависимостей“
Используйте абстракции (abstractions), а не конкретные вещи (concretions) как зависимости. Наличию/отсутствию классов строго параллельно.
А если станет интересно, почему это все так — ещё и в GRASP придётся заглянуть. И классы тут совершенно побоку.
Исправление Nervous, :
[SRP] Имеет очень много смысла без классов
Замени класс на структуру данных или функцию — смысл останется тот же.
[OCP] за мир во всём мире
За написание нового без разламывания старого.
С LSP все понятно.
[ISP] нивелирует смысл класса.
Не уверен, что это значит, но интерфейс как набор связанных функций вполне имеет смысл и без классов. И ISP тоже.
[DIP] Можно перефразировать как „не используйте классы в качестве зависимостей“
Используйте абстракции (abstractions), а не конкретные вещи (concretions) как зависимости. Наличию/отсутствию классов строго параллельно.
А если станет интересно, почему это все так — ещё и в GRASP придётся заглянуть.
Исходная версия Nervous, :
[SRP] Имеет очень много смысла без классов
Замени класс на структуру данных или функцию — смысл останется тот же.
[OCP] за мир во всём мире
За написание нового без разламывания старого.
С LSP все понятно.
[ISP] нивелирует смысл класса.
Не уверен, что это значит, но интерфейс как набор связанных функций вполне имеет смысл и без классов. И ISP тоже.
[DIP] Можно перефразировать как „не используйте классы в качестве зависимостей“
Используйте абстракции (abstractions), а не конкретные вещи (concretions) как зависимости. Наличию/отсутствию классов строго параллельно.