SlideShare ist ein Scribd-Unternehmen logo
1 von 12
{
Сервисы в AngularJS
Краткое введение
Сервис (service)
 Сервис это один из фундаментальных типов данных в
AngularJS, на ряду с контроллерами, директивами,
фабриками;
Что такое сервис?
Как создать сервис?
Чтобы создать сервис достаточно объявить его, используя метод «service» нашего
приложения.
Альтернативный синтаксис
Можно использовать альтернативный синтаксис. Он также применим к другим
типам данных в AngularJS, например, контроллерам.
Главное о сервисах
Основные моменты как работает сервис:
1. Все сервисы – синглтоны
2. Сервис инициализируется лишь тогда, когда он в первые
внедряется в структурный элемент AngularJS, в качестве
зависимости;
3. При вызове конструктора сервиса, конструктор должен
вернуть объект (в отличие от фабрики, где можно вернуть
что угодно).
Зачем нужны сервисы?
Основные задачи сервиса:
1. Сервис используется в качестве модели. Эта модель
доступна всем элементам приложения, потому что сервис
— это синглтон;
2. Сервис может предоставлять API, для работы с
конкретными задачами (например, с моделью в этом
сервисе, или AJAX). Этот API можно внедрить и
использовать в контроллерах;
3. Сервис может использоваться для связки («общения»)
контроллеров между собой;
Use case #1
Вывод данных модели во вьюшке:
http://plnkr.co/edit/lFehxtraU4PDlbZNgcYK?p=preview
Use case #2
Использование сервисов в качестве API:
http://plnkr.co/edit/8r7wZtGouOUTLDfKFiHC?p=preview
Фабрика (factory)
Главное о фабриках
Основные моменты как работает фабрика:
1. Фабрика может вернуть любой тип данных (строку, число,
объект, и другие);
2. Фабрика является синглтоном.
Важно: мемоизируется любое значение, которое
возвращается при первой инициализации конструктора, и
затем, при последующем внедрении фабрики в качестве
зависимости внедряется уже мемоизированное значение, а
не результат работы конструктора.
Когда нужны фабрики?
Фабрики нужны в случаях, когда:
1. Нужно вернуть какое-то значение или конструктор, но не
экземпляр какого-то класса. В остальных случаях можно
создать сервис;
2. Если вам нужно получить обычную функцию.

Weitere ähnliche Inhalte

Was ist angesagt?

Angular 2 vs Angular 1
Angular 2 vs Angular 1Angular 2 vs Angular 1
Angular 2 vs Angular 1GDG Odessa
 
AngularJS. Введение и простые примеры для понимания
AngularJS. Введение и простые примеры для пониманияAngularJS. Введение и простые примеры для понимания
AngularJS. Введение и простые примеры для пониманияIgor Sazonov
 
Антон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в androidАнтон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в androidDataArt
 
Школа-студия разработки приложений для iOS. 2 лекция. MVC, View, Controllers
Школа-студия разработки приложений для iOS. 2 лекция. MVC, View, ControllersШкола-студия разработки приложений для iOS. 2 лекция. MVC, View, Controllers
Школа-студия разработки приложений для iOS. 2 лекция. MVC, View, ControllersГлеб Тарасов
 
AngularJS2 vs VueJS2 (ru)
AngularJS2 vs VueJS2 (ru)AngularJS2 vs VueJS2 (ru)
AngularJS2 vs VueJS2 (ru)chaykaborya
 
Курсы по мобильной разработке. 2 лекция. Построение интерфейсов в iOS
Курсы по мобильной разработке. 2 лекция. Построение интерфейсов в iOSКурсы по мобильной разработке. 2 лекция. Построение интерфейсов в iOS
Курсы по мобильной разработке. 2 лекция. Построение интерфейсов в iOSГлеб Тарасов
 
#MBLTdev: Опыт использования MVVM в реальных проектах
#MBLTdev: Опыт использования MVVM в реальных проектах#MBLTdev: Опыт использования MVVM в реальных проектах
#MBLTdev: Опыт использования MVVM в реальных проектахe-Legion
 
Разработка бизнес-приложений на OpenUI5 — Николай Надоричев, MOLGA Consulting
Разработка бизнес-приложений на OpenUI5 — Николай Надоричев, MOLGA ConsultingРазработка бизнес-приложений на OpenUI5 — Николай Надоричев, MOLGA Consulting
Разработка бизнес-приложений на OpenUI5 — Николай Надоричев, MOLGA ConsultingYandex
 
#13 "Управление состоянием в Redux" Роман Сальников
#13 "Управление состоянием в Redux" Роман Сальников#13 "Управление состоянием в Redux" Роман Сальников
#13 "Управление состоянием в Redux" Роман СальниковJSib
 
Rambler.iOS #3: Dependency Injection в iOS
Rambler.iOS #3: Dependency Injection в iOSRambler.iOS #3: Dependency Injection в iOS
Rambler.iOS #3: Dependency Injection в iOSRAMBLER&Co
 
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.jsОмские ИТ-субботники
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Yet another architectur. Как устроены приложения SuperJob изнутри
Yet another architectur.  Как устроены приложения SuperJob изнутриYet another architectur.  Как устроены приложения SuperJob изнутри
Yet another architectur. Как устроены приложения SuperJob изнутриDenisenko Sergei
 
Viper - чистая архитектура iOS-приложения (И. Чирков)
Viper - чистая архитектура iOS-приложения (И. Чирков)Viper - чистая архитектура iOS-приложения (И. Чирков)
Viper - чистая архитектура iOS-приложения (И. Чирков)65apps
 
Angular 2: Всех переиграл
Angular 2: Всех переигралAngular 2: Всех переиграл
Angular 2: Всех переигралEugene Zharkov
 
Средства разработки web приложений (Web frameworks)
Средства разработки web приложений
(Web frameworks)Средства разработки web приложений
(Web frameworks)
Средства разработки web приложений (Web frameworks)Fedor Malyshkin
 
Системы автоматизированной сборки (Lecture 05 – gradle)
Системы автоматизированной сборки (Lecture 05 – gradle)Системы автоматизированной сборки (Lecture 05 – gradle)
Системы автоматизированной сборки (Lecture 05 – gradle)Noveo
 
Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)Noveo
 

Was ist angesagt? (20)

Angular 2 vs Angular 1
Angular 2 vs Angular 1Angular 2 vs Angular 1
Angular 2 vs Angular 1
 
AngularJS. Введение и простые примеры для понимания
AngularJS. Введение и простые примеры для пониманияAngularJS. Введение и простые примеры для понимания
AngularJS. Введение и простые примеры для понимания
 
Антон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в androidАнтон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в android
 
Школа-студия разработки приложений для iOS. 2 лекция. MVC, View, Controllers
Школа-студия разработки приложений для iOS. 2 лекция. MVC, View, ControllersШкола-студия разработки приложений для iOS. 2 лекция. MVC, View, Controllers
Школа-студия разработки приложений для iOS. 2 лекция. MVC, View, Controllers
 
AngularJS2 vs VueJS2 (ru)
AngularJS2 vs VueJS2 (ru)AngularJS2 vs VueJS2 (ru)
AngularJS2 vs VueJS2 (ru)
 
Курсы по мобильной разработке. 2 лекция. Построение интерфейсов в iOS
Курсы по мобильной разработке. 2 лекция. Построение интерфейсов в iOSКурсы по мобильной разработке. 2 лекция. Построение интерфейсов в iOS
Курсы по мобильной разработке. 2 лекция. Построение интерфейсов в iOS
 
#MBLTdev: Опыт использования MVVM в реальных проектах
#MBLTdev: Опыт использования MVVM в реальных проектах#MBLTdev: Опыт использования MVVM в реальных проектах
#MBLTdev: Опыт использования MVVM в реальных проектах
 
Разработка бизнес-приложений на OpenUI5 — Николай Надоричев, MOLGA Consulting
Разработка бизнес-приложений на OpenUI5 — Николай Надоричев, MOLGA ConsultingРазработка бизнес-приложений на OpenUI5 — Николай Надоричев, MOLGA Consulting
Разработка бизнес-приложений на OpenUI5 — Николай Надоричев, MOLGA Consulting
 
#13 "Управление состоянием в Redux" Роман Сальников
#13 "Управление состоянием в Redux" Роман Сальников#13 "Управление состоянием в Redux" Роман Сальников
#13 "Управление состоянием в Redux" Роман Сальников
 
Rambler.iOS #3: Dependency Injection в iOS
Rambler.iOS #3: Dependency Injection в iOSRambler.iOS #3: Dependency Injection в iOS
Rambler.iOS #3: Dependency Injection в iOS
 
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Yet another architectur. Как устроены приложения SuperJob изнутри
Yet another architectur.  Как устроены приложения SuperJob изнутриYet another architectur.  Как устроены приложения SuperJob изнутри
Yet another architectur. Как устроены приложения SuperJob изнутри
 
Mvc3
Mvc3Mvc3
Mvc3
 
Viper - чистая архитектура iOS-приложения (И. Чирков)
Viper - чистая архитектура iOS-приложения (И. Чирков)Viper - чистая архитектура iOS-приложения (И. Чирков)
Viper - чистая архитектура iOS-приложения (И. Чирков)
 
Angular 2: Всех переиграл
Angular 2: Всех переигралAngular 2: Всех переиграл
Angular 2: Всех переиграл
 
Средства разработки web приложений (Web frameworks)
Средства разработки web приложений
(Web frameworks)Средства разработки web приложений
(Web frameworks)
Средства разработки web приложений (Web frameworks)
 
Системы автоматизированной сборки (Lecture 05 – gradle)
Системы автоматизированной сборки (Lecture 05 – gradle)Системы автоматизированной сборки (Lecture 05 – gradle)
Системы автоматизированной сборки (Lecture 05 – gradle)
 
IoC & Dependency Injection
IoC & Dependency InjectionIoC & Dependency Injection
IoC & Dependency Injection
 
Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)
 

Andere mochten auch

06.02.2014 odf ukraine_military_scenario_pl
06.02.2014 odf ukraine_military_scenario_pl06.02.2014 odf ukraine_military_scenario_pl
06.02.2014 odf ukraine_military_scenario_plodfoundation
 
Sprawozdanie merytoryczne 2012
Sprawozdanie merytoryczne 2012Sprawozdanie merytoryczne 2012
Sprawozdanie merytoryczne 2012odfoundation
 
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...odfoundation
 
Komfo - DDM Alliance Summit Marketing on Facebook
Komfo - DDM Alliance Summit Marketing on FacebookKomfo - DDM Alliance Summit Marketing on Facebook
Komfo - DDM Alliance Summit Marketing on FacebookDDM Alliance
 
25 08-2014-odf-report-case-of-nadezhda-savchenko-pl
25 08-2014-odf-report-case-of-nadezhda-savchenko-pl25 08-2014-odf-report-case-of-nadezhda-savchenko-pl
25 08-2014-odf-report-case-of-nadezhda-savchenko-plodfoundation
 
Sprawozdanie finansowe 2013 pl
Sprawozdanie finansowe 2013 plSprawozdanie finansowe 2013 pl
Sprawozdanie finansowe 2013 plodfoundation
 
Podsumowanie pomocy humanitarnej 2015 vfinal
Podsumowanie pomocy humanitarnej 2015 vfinalPodsumowanie pomocy humanitarnej 2015 vfinal
Podsumowanie pomocy humanitarnej 2015 vfinalodfoundation
 
19.02.2014 odf ukraine_killings_ru
19.02.2014 odf ukraine_killings_ru19.02.2014 odf ukraine_killings_ru
19.02.2014 odf ukraine_killings_ruodfoundation
 
το σχολείο & η πόλη μας!!!
το σχολείο & η πόλη μας!!!το σχολείο & η πόλη μας!!!
το σχολείο & η πόλη μας!!!nouxristina
 
13.02.2014 odf ukraine_attacks_on_journalists_en
13.02.2014 odf ukraine_attacks_on_journalists_en13.02.2014 odf ukraine_attacks_on_journalists_en
13.02.2014 odf ukraine_attacks_on_journalists_enodfoundation
 
Odf sprawozdanie finansowe-2012_pl
Odf sprawozdanie finansowe-2012_plOdf sprawozdanie finansowe-2012_pl
Odf sprawozdanie finansowe-2012_plodfoundation
 
Adaptly - DDM Alliance Summit Marketing on Facebook
Adaptly - DDM Alliance Summit Marketing on FacebookAdaptly - DDM Alliance Summit Marketing on Facebook
Adaptly - DDM Alliance Summit Marketing on FacebookDDM Alliance
 

Andere mochten auch (17)

06.02.2014 odf ukraine_military_scenario_pl
06.02.2014 odf ukraine_military_scenario_pl06.02.2014 odf ukraine_military_scenario_pl
06.02.2014 odf ukraine_military_scenario_pl
 
Sprawozdanie 2011
Sprawozdanie 2011Sprawozdanie 2011
Sprawozdanie 2011
 
Sprawozdanie merytoryczne 2012
Sprawozdanie merytoryczne 2012Sprawozdanie merytoryczne 2012
Sprawozdanie merytoryczne 2012
 
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
 
Komfo - DDM Alliance Summit Marketing on Facebook
Komfo - DDM Alliance Summit Marketing on FacebookKomfo - DDM Alliance Summit Marketing on Facebook
Komfo - DDM Alliance Summit Marketing on Facebook
 
25 08-2014-odf-report-case-of-nadezhda-savchenko-pl
25 08-2014-odf-report-case-of-nadezhda-savchenko-pl25 08-2014-odf-report-case-of-nadezhda-savchenko-pl
25 08-2014-odf-report-case-of-nadezhda-savchenko-pl
 
Sprawozdanie finansowe 2013 pl
Sprawozdanie finansowe 2013 plSprawozdanie finansowe 2013 pl
Sprawozdanie finansowe 2013 pl
 
Podsumowanie pomocy humanitarnej 2015 vfinal
Podsumowanie pomocy humanitarnej 2015 vfinalPodsumowanie pomocy humanitarnej 2015 vfinal
Podsumowanie pomocy humanitarnej 2015 vfinal
 
19.02.2014 odf ukraine_killings_ru
19.02.2014 odf ukraine_killings_ru19.02.2014 odf ukraine_killings_ru
19.02.2014 odf ukraine_killings_ru
 
Paskaita nr1 savokos
Paskaita nr1 savokosPaskaita nr1 savokos
Paskaita nr1 savokos
 
το σχολείο & η πόλη μας!!!
το σχολείο & η πόλη μας!!!το σχολείο & η πόλη μας!!!
το σχολείο & η πόλη μας!!!
 
Vasquez_Juan_PPP
Vasquez_Juan_PPPVasquez_Juan_PPP
Vasquez_Juan_PPP
 
13.02.2014 odf ukraine_attacks_on_journalists_en
13.02.2014 odf ukraine_attacks_on_journalists_en13.02.2014 odf ukraine_attacks_on_journalists_en
13.02.2014 odf ukraine_attacks_on_journalists_en
 
Thunderbird rss
Thunderbird rssThunderbird rss
Thunderbird rss
 
Odf sprawozdanie finansowe-2012_pl
Odf sprawozdanie finansowe-2012_plOdf sprawozdanie finansowe-2012_pl
Odf sprawozdanie finansowe-2012_pl
 
Neo confucianism
Neo confucianismNeo confucianism
Neo confucianism
 
Adaptly - DDM Alliance Summit Marketing on Facebook
Adaptly - DDM Alliance Summit Marketing on FacebookAdaptly - DDM Alliance Summit Marketing on Facebook
Adaptly - DDM Alliance Summit Marketing on Facebook
 

Ähnlich wie сервисы в Angular js

Введение в сервис-ориентированную архитектуру
Введение в сервис-ориентированную архитектуруВведение в сервис-ориентированную архитектуру
Введение в сервис-ориентированную архитектуруElena Grahovac
 
Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Dima Dzuba
 
Шаблоны проектирования в Magento
Шаблоны проектирования в MagentoШаблоны проектирования в Magento
Шаблоны проектирования в MagentoPavel Usachev
 
Александр Алиев "Что такое Яндекс.API"
Александр Алиев "Что такое Яндекс.API"Александр Алиев "Что такое Яндекс.API"
Александр Алиев "Что такое Яндекс.API"Yandex
 
SOLID – принципы объектно-ориентированного дизайна
SOLID – принципы объектно-ориентированного дизайнаSOLID – принципы объектно-ориентированного дизайна
SOLID – принципы объектно-ориентированного дизайнаPavel Treshnikov
 
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВITMO University
 
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...QAFest
 
Использование haproxy/iptables + etcd + confd для автоматического service-dis...
Использование haproxy/iptables + etcd + confd для автоматического service-dis...Использование haproxy/iptables + etcd + confd для автоматического service-dis...
Использование haproxy/iptables + etcd + confd для автоматического service-dis...Sergey Puzirev
 
Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»MskDotNet Community
 
Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений» Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений» Yulia Tsisyk
 
C# Web. Занятие 09.
C# Web. Занятие 09.C# Web. Занятие 09.
C# Web. Занятие 09.Igor Shkulipa
 
Как красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1СКак красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1СKonstantin Yakushev
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предамSQALab
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.Igor Shkulipa
 
Преимущества и недостатки микросервисной архитектуры в HeadHunter / Антон Ива...
Преимущества и недостатки микросервисной архитектуры в HeadHunter / Антон Ива...Преимущества и недостатки микросервисной архитектуры в HeadHunter / Антон Ива...
Преимущества и недостатки микросервисной архитектуры в HeadHunter / Антон Ива...Ontico
 
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ Provectus
 
ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCGetDev.NET
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftAnton Loginov
 
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВИспользование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВSQALab
 

Ähnlich wie сервисы в Angular js (20)

Введение в сервис-ориентированную архитектуру
Введение в сервис-ориентированную архитектуруВведение в сервис-ориентированную архитектуру
Введение в сервис-ориентированную архитектуру
 
Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3
 
Шаблоны проектирования в Magento
Шаблоны проектирования в MagentoШаблоны проектирования в Magento
Шаблоны проектирования в Magento
 
Александр Алиев "Что такое Яндекс.API"
Александр Алиев "Что такое Яндекс.API"Александр Алиев "Что такое Яндекс.API"
Александр Алиев "Что такое Яндекс.API"
 
SOLID – принципы объектно-ориентированного дизайна
SOLID – принципы объектно-ориентированного дизайнаSOLID – принципы объектно-ориентированного дизайна
SOLID – принципы объектно-ориентированного дизайна
 
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
 
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...
QA Fest 2015. Александра Волкова. 10 принципов автоматизации, которые я не пр...
 
Использование haproxy/iptables + etcd + confd для автоматического service-dis...
Использование haproxy/iptables + etcd + confd для автоматического service-dis...Использование haproxy/iptables + etcd + confd для автоматического service-dis...
Использование haproxy/iptables + etcd + confd для автоматического service-dis...
 
Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»
 
Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений» Кирилл Маурин «Проектирование и разработка модульных приложений»
Кирилл Маурин «Проектирование и разработка модульных приложений»
 
C# Web. Занятие 09.
C# Web. Занятие 09.C# Web. Занятие 09.
C# Web. Занятие 09.
 
Как красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1СКак красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1С
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам
 
Appery.io Ukraine_2016
Appery.io Ukraine_2016Appery.io Ukraine_2016
Appery.io Ukraine_2016
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.
 
Преимущества и недостатки микросервисной архитектуры в HeadHunter / Антон Ива...
Преимущества и недостатки микросервисной архитектуры в HeadHunter / Антон Ива...Преимущества и недостатки микросервисной архитектуры в HeadHunter / Антон Ива...
Преимущества и недостатки микросервисной архитектуры в HeadHunter / Антон Ива...
 
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
Eduard Dautov (Provectus): СКОРИНГ ML МОДЕЛЕЙ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ
 
ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVC
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на Swift
 
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВИспользование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
 

сервисы в Angular js

  • 3.  Сервис это один из фундаментальных типов данных в AngularJS, на ряду с контроллерами, директивами, фабриками; Что такое сервис?
  • 4. Как создать сервис? Чтобы создать сервис достаточно объявить его, используя метод «service» нашего приложения.
  • 5. Альтернативный синтаксис Можно использовать альтернативный синтаксис. Он также применим к другим типам данных в AngularJS, например, контроллерам.
  • 6. Главное о сервисах Основные моменты как работает сервис: 1. Все сервисы – синглтоны 2. Сервис инициализируется лишь тогда, когда он в первые внедряется в структурный элемент AngularJS, в качестве зависимости; 3. При вызове конструктора сервиса, конструктор должен вернуть объект (в отличие от фабрики, где можно вернуть что угодно).
  • 7. Зачем нужны сервисы? Основные задачи сервиса: 1. Сервис используется в качестве модели. Эта модель доступна всем элементам приложения, потому что сервис — это синглтон; 2. Сервис может предоставлять API, для работы с конкретными задачами (например, с моделью в этом сервисе, или AJAX). Этот API можно внедрить и использовать в контроллерах; 3. Сервис может использоваться для связки («общения») контроллеров между собой;
  • 8. Use case #1 Вывод данных модели во вьюшке: http://plnkr.co/edit/lFehxtraU4PDlbZNgcYK?p=preview
  • 9. Use case #2 Использование сервисов в качестве API: http://plnkr.co/edit/8r7wZtGouOUTLDfKFiHC?p=preview
  • 11. Главное о фабриках Основные моменты как работает фабрика: 1. Фабрика может вернуть любой тип данных (строку, число, объект, и другие); 2. Фабрика является синглтоном. Важно: мемоизируется любое значение, которое возвращается при первой инициализации конструктора, и затем, при последующем внедрении фабрики в качестве зависимости внедряется уже мемоизированное значение, а не результат работы конструктора.
  • 12. Когда нужны фабрики? Фабрики нужны в случаях, когда: 1. Нужно вернуть какое-то значение или конструктор, но не экземпляр какого-то класса. В остальных случаях можно создать сервис; 2. Если вам нужно получить обычную функцию.