Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.08.2016, 13:31
Новичок на форуме
Отправить личное сообщение для ArtificialLife Посмотреть профиль Найти все сообщения от ArtificialLife
 
Регистрация: 09.08.2016
Сообщений: 1

Помогите продумать архитектуру приложения
Всем привет. Задумал я изучение Angular.js. Прошел пару курсов, уже некоторое время поигрался с приложением "phoneCat" из документации. Задумал простенькое приложение, которое будет собирать новости из разных источников (на выбор) и выводить на страницу.

Сейчас я пришел к следующему:
  1. Создал layout
  2. Создал компонент "menu", который выводит меню с настройками фильтрации новостей
  3. Создал компонент который выводит новость на предпросмотр

Выглядит это примерно так:


Т.е. в лейоуте отображается меню, в меню отображается превью.

Проблема в следующем - я не знаю как правильно организовать подгрузку новостей из различных источников (скажем, из двух десятков сайтов с новостями).

Я так понимаю, что для каждого источника новости нужно создать свой сервис, который будет парсить сайт/дергать API и т.д. Это не проблема. А вот как потом работать с этими десятками сервисов, да так, чтобы это было удобно - я что-то не могу придумать.

Вопросы:
  1. Как работать с большим кол-вом сервисов?
  2. Где "правильнее" юзать эти сервисы? В контроллере компонента news-preview? В контроллере menu? Или для работы с ними лучше создать еще один сервис?
  3. Как блокировать/активировать сервисы? К примеру, если я хочу просматривтаь новости только из одного источника.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 10.08.2016, 18:25
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

ArtificialLife,
Цитата:
Как работать с большим кол-вом сервисов?
а универсальный парсер для всех API нельзя написать? Ну то есть есть структура, которую понимает приложение, нужно выдернуть новость с API стороннего сайта и привести к этой структуре.
Цитата:
Где "правильнее" юзать эти сервисы? В контроллере компонента news-preview? В контроллере menu?
Ребята из Facebook считают, что компоненты должны быть подобны чистым функциям. А UI в этом случае будет лишь композицией этих функций.
UI = сomponents(state)

То есть в компоненте верхнего будет всё состояние твоего приложения, он будет через биндинги прокидывать часть состояния в дочерние компоненты. Вместо того что бы менять состояние прямо в компоненте, имеет смысл просить это сделать сервисы, складывая всю ответственность на них. Они в свою очередь должны будут обновить состояние на верхнем уровне, что в итоге обновит состояние компонента, который и запустил всю эту цепочку. ©
Цитата:
Как блокировать/активировать сервисы? К примеру, если я хочу просматривтаь новости только из одного источника.
То есть у пользователя есть возможность выбирать источник информации? И это в каком-то хранилище нужно запомнить, при инициализации приложения подгружать этот выбор и настраивать соответствующим образом фильтры?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 Ext приложения в одном :) XAPuTOH ExtJS 2 01.02.2016 07:40
Помогите с fancyBox Le-mark43 Events/DOM/Window 6 20.12.2012 08:08
Помогите с архитектурой приложения epson Общие вопросы Javascript 6 09.02.2012 16:32
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
Помогите нубу Fongolcs Работа 34 19.05.2010 22:45