Как стать автором
Обновить
12
0
Алексей @alpust

Пользователь

Отправить сообщение
А если еще, разделить Модель на Объект поведения/состояния и репозиторий, то и вовсе можно будет паттерн называть Domain model pattern / Repository pattern :D
Я так понимаю, это не имеет отношения к падению курса рубля.
Да, такое то же встречал. Добавил, спасибо.
А работа в продуктовой компании или аутсорс? Я подозреваю, что это относиться больше к аутсорсу.
Добавил этот вариант в опросник.
Газпром взял, газпром забрал )

А именно в среде разработчиков, уже есть прецеденты, что зп в рублях урезали при сохранении стандартной трудовой недели?
И такое встречаеться? А как же закон, по которому зп нельзя уменьшать?
Много букв, хочеться просто получить срез, что поменялось за 3 месяца.
Это ж задача калькулятора, собрать Польскую нотацию, решают студенты на 3-ьем курсе.
Подходов к реализации патернов много, но вот подход Доктрины, намного ближе к сути. Когда Модели ни чего не знаю об окружающем мире, кроме отношений между собой.
К примеру:
 $user = new Article();
 $user->setName();
 $user->setFirstname();
 $article = new Article();
 $article->setTitle('Doctrine model');
 $article->setUser($user);
 $em->persist($user);
 $em->persist($article);
 $em->flush();

$em->remove($article);
$em->flush();

Собственно Zend 2 предлагает аналогичный подход к реализации моделей, за некоторыми исключениями.
Этот уровень в моей реализации ничего не знает о способах (и местах) хранения данных.

Так зачем тогда, засунули следующий кодв модель:
/* Start describe behaivors of object
     */
    public function getDeviceByKey ($key) {
        return $this->_mapper->findByKey($key);
    }
    
    public function deleteByKey($key) {
        return $this->_mapper->deleteByCriteria('secretKey', $key);
    }


Вынесети, такого рода методы в маппер, он ведь знает и от DataAccessLevel и от Domain Model.
Это просто пример, можно пофантозировать на тему других примеров, например:
 class StringHandler {
      public function each($func) {
           for($i = 0; $i < strlen($this); $i++) {
                 $func(substr($this, $i; 1));
           }
           return $this;
      }
}  

class IntegerHandler {
      public function each($func) {
           for($i = 0; $i < $this; $i++) {
                 $func($i);
           }
           return $this;
      }
}
Еще бы добавили перезагрузку операций для объектов.

А для вышеупомянутого, скорее всего сначала надо реализовать более менее жесткую типизацию, а то потом будем гадать, почему:

   $a = 1;
   $a->plus(2);

  //и

  $a = "1";
  $a->plus(2);

  //по разному работает.

Был в Хургаде, года три назад, идеальные дороги, идеальные разметки, сотни лежачих полицеских, объездная за пределами зоны отелей, машины рвут 200 — 220, на перекрестках у кого громче сигнал, тот и прав…
Вы прикалываетесь?
Вы еще не были в Египте )), там отличная разметка, все знаки на месте, но вот беда, у Египтян на дороге у кого сигнал громче, тот и прав…
$expr
->if(function(){ return $this->v == 4;})
->then(function(){$this->v = 42;})
->else(function(){})
    ->elseif(function(){})
->end()
->while(function(){$this->v >=42})
    ->do(function(){
        $this->v --;
})
->end()

ИМХО попахивает Монадами.
Когда то баловался и написал библиотеку для работы со списками в функциональном стиле.
Здесь сорсы лежат:
sourceforge.net/projects/phpclosure/forums/forum/1169949/topic/3779017
Когда будет клиент под Андройд?
Однозначно, от греха подальше!

Информация

В рейтинге
Не участвует
Откуда
Севастополь, Республика Крым, Россия
Дата рождения
Зарегистрирован
Активность