Схема приложения получения данных игроков NHL

Описание взаимодействия модулей

Для получения данных создаётся объект Connection

class Connection {
  constructor(name) {
   playerName=name;
   handler= new Handler();
  }

  init() {
    this.getPlayerInfo();
    this.showPlayers();
  }

  request() {
   // http request by url
  }

  getPlayerInfo() {
    // make requests and send data to handlers
    this.handler.set(await this.request());
  }

  showPlayers() {
   // display players info
  }
}

Он подключается по базовым ссылкам с параметрами имени и фамилии игрока.
Получает данные и передаёт результат Handler

class Handler {
  constructor(name, data) {
    playerName=name;
    responseData = data;
    player= new Player();
  }

  init() {
    this.parse();
    this.setPlayer();
  }

  parse() {
    // processing and parse responseData
  }

  setPlayer() {
    // set parsed data to player
  }
}

Класс Player содержит базовую информацию по игроку
Можно изменить и получить поля

class Player {
  constructor(names) {
    if (this.schema(names)) {
      const {firstName, lastName} = names;
      this.name = firstName;
      this.surname = lastName;
    } else {
      this.name = '';
      this.surname = '';
    }
    this.born = null;
    this.height = 0;
    this.weight = 0;
    this.shot = '';
    this.position = '';
  }

  // setters and getters

  schema(names) {
   // validate player name
  }
}

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.