» Материалы за 13.02.2018 » Страница 5

 

Применение паттерна observer в Redux и Mobx

Автор: admin от 13-02-2018, 07:20, посмотрело: 59

Применение паттерна observer в Redux и Mobx

Паттерн "observer" известен наверное с момента появления самого ооп. Упрощенно можно представить что есть объект который хранит список слушателей и имеет метод "добавить", "удалить" и "оповестить", а внешний код либо подписывается либо оповещает подписчиков



class Observable {
  listeners = new Set();
  subscribe(listener){
    this.listeners.add(listener)
  }
  unsubscribe(listener){
    this.listeners.delete(listener)
  }
  trigger(){
    for(const listener of this.listeners){
       listener();
    }
  }
}


В redux-е этот паттерн применяется без всяких изменений — пакет "react-redux" предоставляет функцию connect которая оборачивает компонент и при вызове componentDidMount вызовет subscribe() метод у Observable, при вызове componentWillUnmount() вызовет unsubscribе() а dispatch() просто вызовет метод trigger() который в цикле вызовет всех слушателей где каждый в свою очередь вызовет mapStateToProps() и потом в зависимости от того изменилось ли значение — вызовет setState() на самом компоненте. Все очень просто, но платой за простоту является необходимость явно указывать от каких частей стора зависит компонент внутри mapStateToProps().

Категория: Программирование » Веб-разработка

 

Как провести тендер на разработку сайта

Автор: admin от 13-02-2018, 07:20, посмотрело: 40

Все чаще и чаще к нам обращаются с приглашением принять участие в тендере на разработку сайта. Причем львиная доля запросов выглядят так: “Сколько стоит разработка такого сайта: fb.com. Письмо разослано на 69 веб-студий. Поэтому решил поделиться своим опытом в тендерах. А опыт у меня есть. С 2010 года работаю на стороне заказчика: Медицинское оборудование, фармацевтика, туризм. Сейчас занимаюсь маркетингом и развитием Веб-студии IT4U и Клуба туристов Кулуар. Знаю о тендерах и участии в них не по наслышке с разных сторон. В этой статье вы прочитаете на что на самом деле стоит обращать внимание, а чем можно пренебречь.

Категория: Программирование » Веб-разработка

 
Назад Вперед