seine
Новичок
Привет всем. У меня есть три объекта, классы которых унаследованы от общего абстрактного объекта. И с этими объектами я делаю одни и те же действия.
Надеюсь понятно. Возникла мысль, что вместо перебора объектов в цикле, можно было использовать какой-нибудь шаблон. Другая мысль мне даже упорна стала доказывать, что я где-то читал про этот чудо-шаблон. А третья - что надо пренепременейшим образом использовать именно его =)
Я оставлю в таком виде как сейчас (через цикл), следуя здравому сымслу (не плоди сущности без надобности и все такое), но хочется узнать, есть ли на самом деле какой-то шаблон, который бы использовался в похожих случаях? Пробежался по нескольким основным и такого не нашел =( Не мог же он мне присниться... хотя и такое бывало.
Сорри, за создание такой немного бессмысленного темы.
PHP:
abstract class Area
{
public function isCoveredBy($human) {/* реализация метода */};
public abstract function add($human);
}
class RedArea extends Area {}
class BlueArea extends Area {}
class WhiteArea extends Area {}
// Теперь другой кусок кода, где эти areas используются
// На самом деле, этот массив получается где-то раньше в коде
// (может быть даже в другом методе!), но чтоб не вводить в
// заблуждение, пишу здесь
$areas = array(
new RedArea(),
new BlueArea(),
new WhiteArea(),
);
foreach ($areas as $area) {
if ($area->isCoveredBy($human)) {
$area->add($human);
break;
}
}
Я оставлю в таком виде как сейчас (через цикл), следуя здравому сымслу (не плоди сущности без надобности и все такое), но хочется узнать, есть ли на самом деле какой-то шаблон, который бы использовался в похожих случаях? Пробежался по нескольким основным и такого не нашел =( Не мог же он мне присниться... хотя и такое бывало.
Сорри, за создание такой немного бессмысленного темы.