Реализация паттерна «Декоратор» в простом коде Java

Реализация паттерна "Декоратор" в простом коде JavaЕсли классы находятся на стадии проектирования, будет несложно добавить деко­раторы. Однако если необходимо снабдить декоратором существующую систему, вам может понадобиться переделать некоторые классы. Например, целевой класс должен реализовывать тот же интерфейс, что реализует декоратор.

Эта статья демонстрирует применение паттерна «Декоратор» при разработке упрощенной РОS-системы для пиццерии. В данной статье сможете прочитать где использовать паттерн декоратор. Каждая пицца может быть украшена дополнительными начинками, такими как двойной сыр и бесплатный чили.

Во-первых, вам предстоит создать интерфейс Order, реализуемый с помощью класса Pizza и абстрактного класса декоратора Extra. Класс Extra расширяется классами добавочных начинок: DoubleExtra, NoCostExtra и RegularExtra. Читать

Что такое паттерн одиночка Java

Что такое паттерн одиночка JavaСогласно GoF, паттерн «Одиночка» гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа. В книге «Паттерны проектирования» дается такое же объяснение. Одиночки часто используются в со­четании с фабриками. Читать

Что такое паттерн фасад Java

Что такое паттерн фасад JavaКнига GoF описывает этот паттерн как предоставляющий унифицированный интерфейс к множеству интерфейсов в некоторой подсистеме. Книга «Паттерны проектирования» дает это же толкование и обращает внимание, что, скрывая слож­ность подсистемы, паттерн «Фасад» в то же время предоставляет все возможности подсистемы через удобный для использования интерфейс.

Для простого практического примера того, как работает паттерн «Фасад», пред­ставьте стиральную машину со всего лишь двумя режимами стирки: для сильно загрязненного белья и для слабо загрязненного.

Для каждого режима стиральная машина должна выполнить предопределенный набор операций: установить темпе­ратуру воды, нагреть воду, установить длительность цикла стирки, добавить сти­ральный порошок, добавить отбеливающее средство, добавить смягчитель ткани и т.д. Каждый режим требует различного набора инструкций по стирке (разное количество стирального порошка, более высокая/низкая температура, более долгий/короткий цикл отжима и т.д.). Читать

Скелет JavaFX приложения

Скелет JavaFX приложенияВсе JаvаFХ-приложения создаются по одному и тому же образцу — типично­му скелету. Поэтому, прежде чем перейти к рассмотрению каких-нибудь других средств JavaFX, стоит продемонстрировать скелет JаvаFХ-приложения. Помимо общей формы такого приложения, скелет демонстрирует порядок его запуска и вызова методов его жизненного цикла.

Когда вызывается каждый метод жизнен­ного цикла, на консоль выводится извещающее об этом сообщение. Ниже приве­ден весь скелет JаvаFХ-приложения. Читать

Работа с цветом в Java

Работа с цветом в JavaВ Java поддерживаются цвета в переносимой, аппаратно-независимой форме. Цветовая система в библиотеке AWT позволяет сначала задать какой угодно цвет, а затем найти наилучшее соответствие этому цвету с учетом аппаратных ограни­чений, накладываемых на отображение в том устройстве, где выполняется аплет или прикладная программа.

Таким образом, прикладной код не должен зависеть от того, насколько отличается поддержка цвета в разных аппаратных устройствах. Цвет инкапсулируется в классе Color.

В классе Color определяется несколько констант (вроде Color.black) для описания наиболее употребительных используемых цветов. Читать

Обработка событий от мыши Java

Обработка событий от мыши JavaЧтобы обработать события от мыши, следует реализовать интерфейсы MouseListener и MouseMotionListener. Можно было бы также реализовать ин­терфейс MouseWheelListener, но мы не станем здесь этого делать.

Весь процесс обработки событий от мыши демонстрируется в приведенном ниже примере апле­та. В строке состояния окна этого аплета выводятся текущие координаты мыши.

Всякий раз, когда нажимается кнопка мыши, на месте курсора мыши появляется слово «Down»(Нажато). И всякий раз, когда кнопка мыши отпускается, слово «Up» (Отпущено) . А если производится щелчок кнопкой мыши, то в левом верх­нем углу области отображения аплета выводится сообщение «Mouseclicked» (Произведен щелчок кнопкой мыши ). Читать

Обзор класса MouseEvent Java — описание методов и примеры

Обзор класса MouseEvent Java - описание методов и примерыИмеется восемь типов событий от мыши. Для их обозначения в классе MouseEvent определяется ряд целочисленных констант, перечисленные ниже.

Класс MouseEvent является производным от класса InputEvent. Ниже приве­ден один из его конструкторов. Читать

Интерфейс SortedSet Java — описание и примеры

Интерфейс SortedSet Java - описание и примерыИнтерфейс SortedSet расширяет интерфейс Set и определяет поведение множеств, отсортированных в порядке возрастания. Интерфейс SortedSet является обобщенным и объявляется приведенным ниже образом, где E обозначает тип объектов, которые должно содержать множество.

Помимо методов, предоставляемых интерфейсом Set, в интерфейсе SortedSet объявляются методы, перечисленные ниже. Некоторые из них генерируют исключение типа NoSuchElementException, если в вызывающем множестве отсутствуют какие-нибудь элементы.

Исключение типа NullPointerException генерируется при попытке использовать пустой объекта, когда пустое значение null в множестве недопустимо. При указании неверного аргумента генерируется исключение типа IllegalArgumentException. Читать

Взаимное преобразование чисел и символьных строк Java

Взаимное преобразование чисел и символьных строк Java

Одной из наиболее часто выполняемых рутинных операций в программиро­вании является преобразование строкового представления чисел во внутренний двоичный формат.

Правда, сделать это в Java совсем не трудно. В классах Byte, Short, Integer и Long для этой цели предоставляются методы parseByte(), parseShort(), parseInt() и parseLong() соответственно.

Эти методы возвра­щают значения типа byte, short, int или long, эквивалентные числовой стро­ке, с которой они были вызваны (аналогичные методы предусмотрены в классах Float и Double). Читать

Метод substring() Java + примеры кода

Метод substring() Java + примеры кода

Чтобы извлечь подстроку из символьной строки, достаточно вызвать метод substring(), у которого имеются две формы. Первая его форма такова:

где параметр начальный_индекс обозначает позицию, с которой должна начинаться подстрока. Эта форма возвращает копию подстроки, которая начинается с позиции начальный_индекс и продолжается до завершения вызывающей строки. Читать