23 сентября 2011 г.

Основные тэги JSTL (JSP Standard Tag Library)

Перед тем, как начать описывать тэги думаю не лишним будет еще раз напомнить как же подключается сам JSTL. А подключается он следующей строчкой:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Тэг <c:out>
Используется для вывода данных на экран. Лучше, чем вывод типа ${pageContext.parameter}  тем, что позволяет контролировать специальные символы html, такие как <, >, &, ‘ и “. За то будут ли они обработаны как html или просто показаны на экране отвечает свойство escapeXml, которое по умолчанию стоит в true. Пример:
<c:out value=’${pageContext.parameter}’ escapeXml=’false’ />
Если в value будет null, то c:out выведет на экран пустое место, но если задать значение аттрибута по-умолчанию, то выведется оно. Например:
<c:out value=’${user}’ default=’guest’ />
напечатает имя пользователя, если оно есть или guest, если пользователь не задан.
Или можно написать так:
<c:out value=’${user}’>guest</c:out>

15 сентября 2011 г.

Упаковка по функциональности, а не по слоям

Перевод статьи «Package by feature, not layer».

Первый вопрос при проектировании нового приложения – «Как упаковать его по пакетам?». Для обычных приложений существует два ответа на этот вопрос.

Упаковка по функциональности (Package-by-feature)

Паттерн Package-by-feature подразумевает использование пакетов для отражения фунциональности. Предпологается, что все классы, относящиеся к некоторой функциональности (и только они) упаковываются в один каталог/пакет. В результате мы получаем пакеты с высокой степенью связанности и модульности с одной стороны, и минимальной связью с остальными пакетами с другой. Элементы приложения, которые тесно взаимодействуют друг с другом, находятся в непосредственной близости и не расползаются по всему приложению. В некоторых случаях, удаление части фунционала сводится только к одной операции – удалению каталога. (Операция удаления может быть хорошим показателем степени модульности элемента приложения: максимальная модульность возможна только в том случае, если элемент может быть удален используя только одну операцию.)

14 сентября 2011 г.

Конспект "Hibernate reference manual"


Данная заметка не является мини-учебником или пошаговым руководством по написанию простого приложения с использованием Hibernate, но её можно воспринимать как шпаргалку, позволяющую быстро освежить в памяти знания по данному фреймоврку у тех, кто ими уже обладает, и помочь начинающим программистам, мало работавших с фреймворком, упорядочить свои знания "по полочкам".