Java/Паттерны: различия между версиями
Содержимое удалено Содержимое добавлено
Ошибка в методе create() в классе Builder. Метод не должен ничего возвращать. Для этого в классе есть getPerson(). |
ISbot (обсуждение | вклад) м Ссылки; избыточные <big /> и <font /> вокруг <source />; пробелы. |
||
Строка 10:
Пример использования:
List arr = new ArrayList();
// ...
Строка 20:
// ...
}
</source
В строке {{N|7}} происходят несколько вещей:
Строка 29:
== Singleton ==
=== Пример ===
class Singleton {
private static Singleton instance;
Строка 43:
}
}
</source
=== Как это работает ===
Строка 49:
=== Когда используют Singleton? ===
* В том случае если мы хотим производить какое-либо действие при любом обращении к классу - это действие можно включить в функцию getInstance между строками {{N|10}} и {{N|11}}. Например добавлять к статическому счетчику единицу - тогда мы будем в любой момент точно знать сколько раз запрашивался объект Singleton.
* В случае кеширования данных.
*
== Factory ==
class Person {...}
class Worker extends Person {...}
Строка 75:
}
}
</source
== Builder ==
Строка 86:
и свойства объекта могут иметь сложную логику
лучше вынести все это в отдельный класс
/**
** @author javawiki@ya.ru Чтв 10 Июн 2010 23:36:49
Строка 141:
}
}
</source
|