В рамках 100-дневного соревнования по программированию я разрабатывал приложение Spotify, которое позволит пользователю создать для него список воспроизведения, основанный не более чем на имени исполнителя. В рамках этого упражнения я пытался включить различные компоненты JS, о которых я хотел бы узнать больше.
Я решил использовать шаблон раскрывающегося модуля, чтобы инкапсулировать множество конкретных действий Spotify (поиск исполнителя, создание плейлиста и т. д.). Это может быть или не быть лучшим вариантом использования, и, честно говоря, я не беспокоюсь об этом прямо сейчас. Одна из проблем, с которой я столкнулся, заключалась в том, как лучше передать переменные в модуль. После небольшого проб и ошибок я нашел ответ прямо перед собой в Learning JavaScript Design Patterns Эдди Османи.
В итоге я добавил в модуль общедоступные функции установки и показал их как общедоступные указатели.
const spotifyModule = (function() { const accessToken; function _setAccessToken(token){ accessToken = token; } return { setAccessToken: _setAccessToken } })();
Затем я могу установить свою приватную переменную (accessToken), используя общедоступный сеттер spotifyModule.setAccessToken('my-token-valu');