• Зачем нужно ООП в javascript?

    для того же, для чего и в других языках
    Ответ написан
    1 комментарий
  • Как выучить/понять ООП паттерны?

    DevMan
    @DevMan
    теория и практика. и так по кругу.
    только чтение ничего не даст.

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

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

    @xfg
    Любой фреймворк с инверсией зависимостей подойдет. На Symfony и Yii2 точно можно сделать. На русскоязычном форуме Yii по теме DDD очень много обсуждений. Но если не увидели единого согласия по DDD, то скорее всего не читали книгу Эванса или Вернона. Если так, то лучше начать с кого-нибудь из них.

    Многоуровневая архитектура рассказывает нам о слоях presentation, application, domain и infrastructure. С однонаправленным потоком данных. Нижестоящий слой, никогда не должен вызывать вышестоящий. Это значит, что к примеру можно выбросить presentation слой и не придется ничего изменять в оставшихся 3.

    Фактически выходит, что в любой момент можно выбросить фреймворк и заменить другим, так как это presentation layer в многоуровневой архитектуре. Можно даже сначала написать application/domain, проверить их юнит-тестами, а только потом уже задуматься о фреймворке. Application/domain слои никогда ни при каких обстоятельствах не должны вызывать методы фреймворка. Контроллеры фреймворка работают с доменной моделью, через вызовы методов application layer.

    Соответственно, при миграции на другой фреймворк, всё что потребуется, это переписать контроллеры (методы очень простые 1-5 строк) и реализации классов в infrastructure layer если вы завязывали их на фреймворк. Хотя лично я бы, не советовал этого делать. Лучше найти/написать отдельные библиотеки/компоненты под инфраструктурный слой, тем самым облегчив себе жизнь в будущем, когда фреймворк умрет или при очередном релизе мажорной версии.

    Symfony под DDD наилучший выбор, он компонентный, можно подтянуть только то, что нужно. С другой стороны Yii2, он монолитный и вы затяните Active Record и кучу всего еще, чем не будете пользоваться, но джуниор придет и обязательно понавызывает AR или чего-нибудь еще в application/domain слоях, чего вы явно не ожидаете. Поэтому в случае с Yii2 нужен будет тотальный контроль. :)

    Про Laravel не пишу ничего, так как не работал с ним. Но судя по беглому просмотру документации, никаких проблем сделать на нем DDD также нет.
    Ответ написан
    4 комментария
  • Годный курс по разработке на React?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Текст:
    сам учил - здесь (офф доки, EN)
    сам писал - здесь (RU, есть так же и про redux). В 2018м году вышло второе издание, первое прочитало более 250 000 читателей. (pdf/epub/mobi можно найти тут).

    Толковый перевод годной статьи (react + redux) - на хабре

    По видео - не подскажу, так как по реакту не смотрел (но по redux два отличных скринкаста на egghead.io есть).

    На русском ничего годного не видел. К сожалению, на одном "образовательном проекте", который не раз уже вставляли в ответы - видео курс (судя по первым бесплатным урокам) - плох.

    p.s. Делаю следующий проект-обучалку, но еще не решил будет там видео-версия или нет, очень затратно по времени.
    Ответ написан
    6 комментариев
  • Что можно почитать по разработке фронтенда?

    @Strannyk
    «JavaScript. Шаблоны» С. Стефанов
    Ответ написан
    Комментировать
  • Как верстать с использованием ReactJS?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Суть React заключается в том, что его архитектура базируется на компонентах. Как в лего, все собирается из кирпичиков.

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

    Так же надо отчетливо понимать, что философия React - генерировать разметку динамически при изменении стейта (состояния). Классически стейт хранится локально в каждом компоненте, однако зачастую это неудобно, поэтому придумали Flux, одной из инкарнаций которого является, в некотором приближении, Redux - некое централизованное хранилище стейта, с плюшками и балеринами.

    Насколько мне известно, React не навязывает никаких парадигм и прекрасно совместно уживается на одной странице с чем угодно, так-что, в принципе, отреактить можно только самое необходимое, а остальное запилить по старинке...
    Ответ написан
    Комментировать
  • Книга по php для не новичка?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Немножко дополню Назара:

    > но так и не научившегося писать чистый и красивый код

    Р. Мартин - Чистый код. Создание, анализ и рефакторинг

    > применять такие крутые штуки как namespaces, MVC, ООП, Singleton и пр.

    Мэтт Зандстра - PHP. Объекты, шаблоны и методики программирования
    Э. Фримен, Э. Фримен, К. Сьерра, Б. Бейтс - Паттерны проектирования
    Ответ написан
    3 комментария
  • Изучение yii2 русские мануалы?

    @Leshgan
    Ответ написан
    Комментировать