Доки по разработке
This project is maintained by teniryte
Принципы
HappyState, SadState), реализующие общий интерфейс.Human) хранит ссылку на текущее состояние и делегирует ему поведение (think).Пример
interface State {
think(): string;
}
class HappyState implements State {
think() {
return 'I am happy 🙂';
}
}
class SadState implements State {
think() {
return 'I am sad 🙁';
}
}
class Human {
private state: State = new HappyState();
changeState(state: State) {
this.state = state;
}
think() {
return this.state.think();
}
}
Практика
State.