27
January

Перечисляемые типы в Java (enum types, enumerations)

Posted in: Java technologies, J2SE | 11 Comments

По просьбам читателей начну цикл статей, посвященный нововведениям в Java начиная с версии 1.5. Думаю, статьи этой тематики будут актуальны для многих, так как сам только недавно начал переходить на 1.6 (на работе в проекте до сих пор используется версия jdk 1.4).
В этой статье я хочу рассказать о перечислениях (enumeration, enum). Сначала я покажу, как реализовывались перечисления в ранних версиях java.

Итак, перечисление (enum) - это тип, значения которого ограничены конечным набором констант.
Самым простым способом реализовать некоторый набор значений есть следующий класс:
(more…)

24
January

Refactoring блога (нужна ваша помощь)

Posted in: Разное (uncategorized) | 14 Comments

Здравствуйте, мои дорогие читатели.

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

Написать новые статьи о паттернах проектирования:
1. Паттерн Observer.
2. Паттерн Visitor.
3. Паттерн Iterator.

Написать новые статьи по тематике:
4. Использование Servlet Filters.
5. Использование Velocity.
6. Байт-код и оптимизация кода.
7. Использование нововведений Java версии 1.5 и выше (enum, generic, for each, etc.).

Улучшить функционал блога:
8. Добавить preview комментариев.
9. Добавить голосовалку: о чем писать следующую статью.

Другое:
10. Дополнить существующие статьи по паттернам проектирования.
11. Дополнить статьи по J2SE новыми примерами.
12. Улучшить программу по переводу названий песен и тегов в транслит для MP3-плеера.

(more…)

22
January

Работа с MS Access из Java

Posted in: Java open-source проекты, Базы данных, SQL, Oracle | 7 Comments

Даже если ваш проект использует новейшие разработки в области кросс-платформенного ПО, рано или поздно придется столкнуться с технологиями, с которыми не очень хотелось сталкиваться.
Так случилось и со мной, когда заказчик захотел получать отчеты в виде базы данных MS Access.
Пришлось порыться в поисках java-библиотеки для работы с форматом mdb.
О результатах своих поисков я и хочу вам рассказать.

(more…)

19
January

Паттерн Прототип (Prototype Design Pattern)

Posted in: Паттерны проектирования | 8 Comments

В написанных ранее статьях мы уже рассматривали паттерны создания объектов (Creational Design Patterns).
Так как с необходимостью создания объектов програмисты встречаются каждый день, рассмотрим еще один паттерн - Prototype (Прототип).
Паттерн Prototype позволяет создавать новые объекты на основе некоторого объекта-прототипа при этом совсем не обязательно знать как необходимый объект устроен.
Вот некоторые ситуации когда может помочь этот паттерн проектирования:

  • если создание объектов (через оператор new) занимает длительный промежуток времени или требовательно к памяти;
  • если создание объектов для клиента является нетривиальной задачей, например, когда объект составной;
  • избежать множества фабрик для создания конкретных экземпляров классов;
  • если клиент не знает специфики создания объекта.

(more…)