О чем будем говорить?
О чем будем говорить?
О паттернах в целом — что это такое, зачем нужно
Как паттерны появляются от задачи
Разбор явных паттернов а библиотеках
KISS
function reducer(state = {}, action) {
switch(action.type) {
case 'RECEIVE_VACANCY':
return {
...state,
...action.vacancy,
status: 'RECEIVED'
};
case 'FETCH_VACANCY':
return {
...state,
...action.vacancy,
status: 'LOADING'
};
default:
return state;
}
}
createReducer({}, {
RECEIVE_VACANCY: () => ({
...state,
...action.vacancy,
status: 'RECEIVED'
}),
FETCH_VACANCY: () => ({
...state,
...action.vacancy,
status: 'LOADING'
})
});
class Cat {
meow() {
}
}
@mrrrr()
class Cat {
meow() {
}
}
Попроще: https://refactoring.guru/ru/design-patterns
Посложнее: (GOF) https://ru.wikipedia.org/wiki/Design_Patterns
class Cat {
meow() {
}
}
class Cat {
meow() {
}
}
class CatWrapper extends Cat {
constructor() {super()}
sounds = []
register(newSound) {
this.sounds.push(newSound);
}
meow() {
this.sounds.forEach(sound => sound());
super.meow();
}
}