{"action":"opened","issue":{"url":"https://api.github.com/repos/rambler-ios/team/issues/1","repository_url":"https://api.github.com/repos/rambler-ios/team","labels_url":"https://api.github.com/repos/rambler-ios/team/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/rambler-ios/team/issues/1/comments","events_url":"https://api.github.com/repos/rambler-ios/team/issues/1/events","html_url":"https://github.com/rambler-ios/team/issues/1","id":154682554,"number":1,"title":"Рассказ об устройстве и особенностях Typhoon","user":{"login":"etolstoy","id":3955262,"avatar_url":"https://avatars.githubusercontent.com/u/3955262?v=3","gravatar_id":"","url":"https://api.github.com/users/etolstoy","html_url":"https://github.com/etolstoy","followers_url":"https://api.github.com/users/etolstoy/followers","following_url":"https://api.github.com/users/etolstoy/following{/other_user}","gists_url":"https://api.github.com/users/etolstoy/gists{/gist_id}","starred_url":"https://api.github.com/users/etolstoy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/etolstoy/subscriptions","organizations_url":"https://api.github.com/users/etolstoy/orgs","repos_url":"https://api.github.com/users/etolstoy/repos","events_url":"https://api.github.com/users/etolstoy/events{/privacy}","received_events_url":"https://api.github.com/users/etolstoy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rambler-ios/team/labels/Weekly%20Meetings","name":"Weekly Meetings","color":"f9d0c4"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-05-13T10:34:27Z","updated_at":"2016-05-13T10:34:27Z","closed_at":null,"body":"Планирую выступить с докладом о Typhoon, подготовленным к [MobiusConf](http://mobiusconf.com/).\r\n\r\n##### Полное содержание доклада\r\nTyphoon - очень мощный инструмент в руках разработчика. Помимо своей основной роли - реализации всех видов Dependency Injection (property, constructor, method), он также выступает в роли декларативного языка архитектуры приложения. Для того, чтобы полностью проанализировать взаимосвязи между всеми элементами и понять особенности их жизненного цикла, достаточно посмотреть на слой TyphoonAssembly. Именно эта особенность как всех IoC контейнеров, так и Typhoon в частности, остается за пределами внимания обычных разработчиков. Цель моего выступления - показать разработчикам, зачем в их приложении нужен дополнительный слой Assembly, чтобы каждый мог осознанно принять решение, встраивать ему Typhoon или нет. Определяющим моментом в этом вопросе должны выступать не детали синтаксиса и особенности внутреннего устройства библиотеки, а структурные вопросы. Лучший способ их раскрыть - показать слушателям методы работы с Typhoon во время разработки абстрактного приложения. Я планирую затронуть следующие возможности фреймворка:\r\n\r\n- Базовые способы инжекции зависимостей,\r\n- Автоинъекция,\r\n- Инъекция зависимостей в storyboard, xib, реюзабельные ячейки,\r\n- Работа с runtime-параметрами,\r\n- Работа с конфигурационными файлами,\r\n- Прозрачная декорация создаваемых объектов,\r\n- Написание интеграционных тестов с TyphoonPatcher,\r\n- Написание тестов на TyphoonAssembly.\r\n\r\nВсе практические вопросы будут подкреплены определенным теоретическим базисом - к примеру, DI, IoC, декоратор. После выступления разработчики должны четко понимать, какие их текущие проблемы может решить Typhoon, как приступиться к этим задачам и какие его возможности им стоит использовать."}}