Design Pattern
Type : structuration
Permet de faire fonctionner un objet
avec une interface
qu'il ne possède pas
Est utilisé lorsqu'une classe que l'on veut utiliser
et son interface ne corresponde pas à nos besoins.
Créer une classe réutilisable qui n'a pas besoin
d'avoir des interfaces compatibles.
Shape
Rectangle
Circle
xxxColor
RedColor
BlueColor
xxxColor
RedColor
BlueColor
Shape
Rectangle
Circle
xxxColor
RedColor
BlueColor
Color
Bridge
public class NumberSorter{
public List<Integer> sort(List<Integer> numbers){
return new ArrayList<Integer>();
}
}
int[] numbers = new int[]{34, 2, 4, 12, 1};
Sorter sorter = new SortListAdapter();
sorter.sort(numbers);
public interface Sorter{
public int[] sort(int[] numbers);
}public class SortListAdapter implements Sorter{
@Override public int[] sort(int[] numbers) {
//convert the array to a List
List<Integer> numberList = new ArrayList<Integer>();
//call the adapter
NumberSorter sorter = new NumberSorter();
numberList = sorter.sort(numberList);
//convert the list back to an array and return
return sortedNumbers;
}
}