@neFormal
neFormal
05 Jul 2017

Нельзя в прототипах заниматься абстрагированием, интерфейсами и зачастую даже приватами.
Когда что-то понадобится, хрен где найдёшь, а протаскивать придётся через все круги абстрактного ада ._.

#okazg 5
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
05 Jul 2017

на самом деле это легко решается при помощи генериков в параметрах и diamond operator

#okazg/1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
05 Jul 2017

не думаю. тут проблема уровня "в интерфейсе ЯКнопко лежат ссылки на кнопку, слоновый хобот и список сочинений Ленина".
т.е. реально не думали, что оно вдруг понадобится, а потом начинали запинывать абы как.

#okazg/2 в ответ на /1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
05 Jul 2017

думаю ты не понял. есть у тебя объект с контекстом. в том числе с ссылкой на кнопку. есть класс, который что-то делает с кнопкой. вот его декларируешь как class Worker<T extends ButtonProvider>. и дальше он передаёт этот контекст в другие классы. если другому контексту нужно собрание сочинений ленина и ссылка на кнопку, то его объявляешь как class Reader<T extends ButtonProvider & BooksProvider>. и т.д.

#okazg/3 в ответ на /2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
05 Jul 2017

я понял, но тут такое не прокатывает.
компоненты независимы друг от друга, и им нужно получать друг от друга инфу. а им спросить не у кого, т.к. до ближайшего источника данных 3-4 слоя абстракций.

#okazg/4 в ответ на /3
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
05 Jul 2017

Ну... придётся использовать рефлекшен. Лучше гореть в аду, чем по срокам.

#okazg/5 в ответ на /4
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.