Size: a a a

2021 January 24

t

this. in CODE BLOG / C#
Sergey Trofimov
но проще ж ООП подход )
Окей
Тут +
источник

S

Sergey Trofimov in CODE BLOG / C#
но это уже кому как конечно, кому то и функционалка мать родная
источник

t

this. in CODE BLOG / C#
Sergey Trofimov
но это уже кому как конечно, кому то и функционалка мать родная
источник

S

Sergey Trofimov in CODE BLOG / C#
я спецификации пробовал на реальных проектах, очень просто реализуется и удобно, без миллиона абстракий над абстракциями
источник

M

Max in CODE BLOG / C#
Помогите разобраться, а то я уже начинаю тонуть..

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

Код:
https://pastebin.com/qUpTYpE8

В этом коде в классе Менеджер есть два метода, которые изменяются отдельно.
Как гласит принцип - их надо разделить в разные классы. Но по логике они должны быть в классе Менджер, т.к. эти методы присущи только менеджеру и никто другой не должен их выполнять.

Че делать?
источник

S

Sergey Trofimov in CODE BLOG / C#
Max
Помогите разобраться, а то я уже начинаю тонуть..

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

Код:
https://pastebin.com/qUpTYpE8

В этом коде в классе Менеджер есть два метода, которые изменяются отдельно.
Как гласит принцип - их надо разделить в разные классы. Но по логике они должны быть в классе Менджер, т.к. эти методы присущи только менеджеру и никто другой не должен их выполнять.

Че делать?
почему ты думаешь что 2 метода это уже все, нарушение SRP? )
источник

M

Max in CODE BLOG / C#
ну, я так понял прочитанное :"Если методы изменяются отдельно друг от друга..."
источник

S

Sergey Trofimov in CODE BLOG / C#
Max
ну, я так понял прочитанное :"Если методы изменяются отдельно друг от друга..."
лучше не читай академические определения
источник

M

Max in CODE BLOG / C#
По идее изменение одного метода не затрагивает второй
источник

S

Sergey Trofimov in CODE BLOG / C#
а то на принципе Лисков в петлю полезешь
источник

M

Max in CODE BLOG / C#
та я уже намылился))
источник

S

Sergey Trofimov in CODE BLOG / C#
в твоем случае оба метода логически обязанность менеджера
источник

M

Max in CODE BLOG / C#
Вроде простые все принципы, но столько нюансов..
источник

M

Max in CODE BLOG / C#
Sergey Trofimov
в твоем случае оба метода логически обязанность менеджера
Все, это я и хотел услышать, спасибо
источник

S

Sergey Trofimov in CODE BLOG / C#
Max
Все, это я и хотел услышать, спасибо
конечно по-хорошему можно это разделить и наверное даже нужно, типа состав отчетов может поменятся и тд, но в реальном программировании все далеко от идеального академического мира. Просто сейчас у тебя нормальный ООП подход, ты взял и перенес человека в код
источник

S

Sergey Trofimov in CODE BLOG / C#
для поддержания SRP тебе бы пришлось создавать 2 чела, типа ReporterManager и OrderManager
источник

S

Sergey Trofimov in CODE BLOG / C#
Я к тому что часто в реальном мире у вещей несколько обязанностей и перенести это на SRP в ООП как - то сложно будет
источник

M

Max in CODE BLOG / C#
Sergey Trofimov
для поддержания SRP тебе бы пришлось создавать 2 чела, типа ReporterManager и OrderManager
вот, именно так я и думал
источник

M

Max in CODE BLOG / C#
Sergey Trofimov
Я к тому что часто в реальном мире у вещей несколько обязанностей и перенести это на SRP в ООП как - то сложно будет
спасибо еще раз
источник

А

Артемка in CODE BLOG / C#
народ, а можно, делая игру на юнити, писать код в vs code 2017, будет ли какие-то отличия от версии 2019?
источник