Нашел интересный пост о том, что такое парное программирование, а самое главное — замечания как правильно и не правильно его применять.

Share Button

Назначение:

Задаёт виды, создаваемых объектов с помощью экземпляра-прототипа и создаёт новые объекты путём копирования этого прототипа. Он позволяет уйти от реализации и позволяет следовать принципу «программирование через интерфейсы». В качестве возвращающего типа указывается интерфейс\абстрактный класс на вершине иерархии, а классы наследники могут подставить туда наследника, реализующего этот тип.

Проще говоря, это паттерн создания объекта через клонирование другого объекта вместо создания через конструктор. Читать далее →

Share Button

Задача: Система поддерживает требуемые данные и поведение, но имеет неподходящий интерфейс.
Решение: Адаптер предусматривает создание класса-оболочки[1] с требуемым интерфейсом.
Следствие: Шаблон Адаптер позволяет включать уже существующие объекты в новые объектные структуры, независимо от различий в их интерфейсах.
Реализация: Включение уже существующего класса в другой класс. Интерфейс включающего класса приводится в соответствие с новыми требованиями, а вызовы его методов преобразуются в вызовы методов включённого класса.
Пример

// Target
public interface Chief {
  public Object makeBreakfast();
  public Object makeLunch();
  public Object makeDinner();
}
 
// Adaptee
public class Plumber {
  public Object getScrewNut()
  { ... }
  public Object getPipe()
  { ... }
  public Object getGasket()
  { ... }
}
 
// Adapter
public class ChiefAdapter extends Plumber implements Chief {
  public Object makeBreakfast() {
    return getGasket();
  }
  public Object makeLunch() {
    return getPipe();
  }
  public Object makeDinner() {
    return getScrewNut();
  }
}
 
// Client
public class Client {
  public static void eat(Object dish)
  { ... }

 
  public static void main(String[] args){
    Chief ch = new ChiefAdapter();
    Object dish = ch.makeBreakfast();
    eat(dish);
    dish = ch.makeLunch();
    eat(dish);
    dish = ch.makeDinner();
    eat(dish);
    callAmbulance();
  }
}
Share Button

Ищем подстроки в строке, применяем стандатрные Pattern и Matcher

Данный прием можно использовать для поиска подстрок в строке.  Для поиска чисел (а точнее для поиска последовательности чисел) используем следующий код:

Pattern p = Pattern.compile("-?\\d+");
Matcher m = p.matcher("There are more than -2 and less than 12 numbers here");
while (m.find()) {
   System.out.println(m.group());
}

Читать далее →

Share Button

Простенькая команда позволяющая просмотреть системные java переменные. Набираем в консоли:

java -XshowSettings:properties Читать далее →

Share Button