• Как лучше разбить логику?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Пытаюсь понять SRP


    Давайте думать. Вот есть у вас класс который:

    - занимается аутентификацией пользователя
    - занимается регистрацией пользователя
    - занимается восстановлением пароля

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

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

    Давайте думать дальше... например та же регистрация как минимум требует отдельного класса, который будет содержать логику регистрации. Нам же помимо создания юзера надо email ему отправить, а возможно еще что-то сделать.

    p.s. маленький вброс: https://gist.github.com/fesor/33f041e3f362beff8d0e...
    Ответ написан
    1 комментарий
  • Почему коротят USB-разъемы на морде корпуса?

    @Nikolay45
    По сути вопроса- можно попробовать перевернуть сетевую вилку от ПК в розетке, что бы совпали 0 и фаза на соединённых устройствах. И проверьте правильность подключения шлейфа USB от корпуса к МП. Там идёт пятый(девятый) проводок, это отдельная земля.
    Ответ написан
    3 комментария