Архив автора: johnny0z

Шаблон проектирования Итератор — Iterator

Рассмотрим восьмой шаблон в серии Design Patterns. Суть шаблона Итератор — предоставление способа последовательного доступа к элементам множества, независимо от его внутреннего состояния. Этот шаблон наверно самый популярный, так как каждый программист неявно использует его, когда нужно пройтись по всем элементам … Читать далее

Рубрика: Программирование Android, Программирование Java | Оставить комментарий

Шаблон проектирования Стратегия — Strategy

Рассмотрим седьмой шаблон из серии Design Patterns — стратегия. Суть — инкапсуляция группы алгоритмов и возможность взаимозаменять друг друга без влияния на конечного клиента. А теперь простыми словами — создаем несколько разных алгоритмов (расчет цены например) и определяем какую стратегию … Читать далее

Рубрика: Программирование Android, Программирование Java | Оставить комментарий

Шаблон проектирования Интерпретатор (Interpreter)

Рассмотрим шестой в серии шаблон — интерпретатор. Суть — получая формальный язык, определяет представление его грамматики и интерпретатор, использующий это представление для обработки выражения языка. Согласен, не особо понятно из определения, поэтому скажем простыми словами — шаблон, для интерпретирования некоторого … Читать далее

Рубрика: Программирование Android, Программирование Java | Оставить комментарий

Шаблон проектирования Состояние (State)

Пятый в серии шаблон — Состояние. Суть — изменение поведения объекта в зависимости от состояния, в котором оно находится. Зачастую этот шаблон объясняют на примере медиапроигрывателя. Он может находиться в нескольких состояних — проигрывание, пауза и т.д. В зависимости от … Читать далее

Рубрика: Программирование Android, Программирование Java | Оставить комментарий

Шаблон проектирования Команда (Command)

Четвертый шаблон проектированя — Команда. Суть — инкапсуляция запроса в виде объекта, который содержит само действие и параметры. А если простыми словами, отделяем детали запроса от класса, который их создает. Перейдем от мутных слов к простому коду. Рассмотрим пример шаблона … Читать далее

Рубрика: Программирование Android, Программирование Java | Оставить комментарий

Шаблон проектирования Наблюдатель (Observer)

Рассмотрим третий шаблон проектирования. Суть шаблона — изменения в одном объекте порождают изменения во многих других. Здесь есть 2 понятия — Наблюдатель (observer) и наблюдаемый (subject). В этом шаблоне наблюдателей несколько, а наблюдаемый один. Перейдем от слов к коду. Рассмотрим … Читать далее

Рубрика: Программирование Android, Программирование Java | Оставить комментарий

Шаблон проектирования Цепочка обязанностей (Chain of responsibility)

Итак, рассмотрим второй шаблон проектирования. В чем суть — класс получает задачу на исполнение и если может, то выполняет ее сам, если же нет, передает по цепочке следующему классу, если он есть. Перейдем от слов к коду. Рассмотрим этот шаблон … Читать далее

Рубрика: Программирование Android, Программирование Java | Оставить комментарий

Шаблон проектирования Хранитель (Memento)

Я не буду рассказывать что такое шаблоны проектирования (design patterns), что такое GoF и т.д. Сразу перейду к одному из поведенческих шаблонов — Хранитель. В чем суть шаблона — позволяет сохранить состояние объекта с последующей возможностью восстановления. Сразу перейдем от … Читать далее

Рубрика: Программирование Java | Оставить комментарий

Android components: BroadcastReceiver & IntentService in notifications

В последнее время я заметил, что много времени уходит непонятно на что и тут вспомнил про одну из техник управления временем (Матрица Эйзенхауэра), которая в действительности является вполне эффективной. И для этих целей я решил написать маленькое приложение (ссылка на … Читать далее

Рубрика: Программирование Android | Оставить комментарий

Фишки Kotlin в Java

Язык Kotlin известен своим синтаксическим сахаром (чем он по большей части и является). Сегодня мы рассмотрим одну особенность этого языка и попробуем сделать то же самое в языке Java. Для начала рассмотрим обычный класс на Kotlin.

Обычный класс с … Читать далее

Рубрика: Программирование Java | Оставить комментарий