Наверно, вы уже сталкивались с таким понятием, как AOП - аспектно-ориентированное программирование.
Обычно, про него вспоминают, когда говорят про декларативное использование транзакций, про проверку прав доступа, либо про реализацию журналирования.
Но это не единственные области применения АОП.
Я хочу показать ещё пару областей применения из реальных проектов:
Сегодня я хочу рассмотреть некоторые особенности переопределения методов в Java. В java нельзя переопределить: поля класса конструкторы, инициализаторы класса статические методы статические поля
Подробнее об этом можно прочитать в Java Language Specification, §8.4.8
Итак, в java все нестатические неприватные (то есть, protected, package и public) методы являются виртуальными.
ВступлениеВстала передо мной задача - сокращать ссылки перед тем, как отправлять их в Twitter. Для решения этой задачи я решил использовать bit.ly, благо, их API внятный и простой. Программируем!Решение нарисовалось в виде следующего класса: import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.
Возникла проблема - каким образом заменить в строке символы из национальных кодировок на соответствующие им из латиницы.
Например, из строки explicación получить explicacion.
package com.blogspot.atamanenko; import java.text.Normalizer; import java.text.Normalizer.Form; public class StringNormalizer { public static String normalize(String string) { return Normalizer.
Периодически необходимо решать задачу создания больших ( и не очень) объёмов тестовых данных для проведения различных видов тестирования - функционального, нагрузочного (тестирование стабильности и производительности). При этом часто получается так, что система на тестовых данных ведёт себя совсем иначе, чем на реальных данных.