stalxed
Новичок
@hell0w0rd, всё в кучу смешано:
PhpUnit - это целое семейство unit фреймворков, названо это семейство xUnit, его по косточкам разобрал Геральд Месарош(xunitpatterns.com). Его книга выходила даже на русском(лежит рядом, классная книга). И! Первый xUnit написан на smalltalk.
Hibernate, Doctrine 2 - это примеры Data Mapper, НО! Невозможно сделать Data Mapper не решив кучу смежных вопросов, что только стоят наследование(его mapping на SQL) и взаимосвязи. Больше половину книги корпоративных шаблонов Фаулер посветил именно этому. А потом с неё Hibernate и Doctrine 2 слизали решения. И кстати, код использующий Hibernate(клиентский код), имхо, выглядит уродливее, чем в Doctrine 2.
Когда Фаулер писал книгу Hibernate ещё не существовал(Hibernate начался в 2003, Фаулер написал в 2002).
Моя главная мысль: xUnit и Data Mapper существуют вне языков. Это теории, которые можно реализовать на любом ООП языке.
По поводу IDE, что PhpStrom говно, что Zend Studio. Плата за динамические типы в php. Вот например MS Visual Studio + ReSharper = реальная мощь, там такие финты вытворяются.... диву даёшься.
Symfony/FileSystem - это тупо удобно и логично.
А не делать форк.
Просто порой мучаешься расширить какую-то вещь фреймворка, а при гугление везде пишут - форкай.
Форки это не фига не круто... Это лишняя головная боль.
Так что пускай лучше будут лишние интерфейсы, лишние абстрактные классы.
И таки да, дженериков не хватает.
Перегрузки методов не хватает.
Перегрузки операторов не хватает.
Неявного, явного преобразования типов не хватает.
Но это не Java прихоти, это ООП прихоти.
PhpUnit - это целое семейство unit фреймворков, названо это семейство xUnit, его по косточкам разобрал Геральд Месарош(xunitpatterns.com). Его книга выходила даже на русском(лежит рядом, классная книга). И! Первый xUnit написан на smalltalk.
Hibernate, Doctrine 2 - это примеры Data Mapper, НО! Невозможно сделать Data Mapper не решив кучу смежных вопросов, что только стоят наследование(его mapping на SQL) и взаимосвязи. Больше половину книги корпоративных шаблонов Фаулер посветил именно этому. А потом с неё Hibernate и Doctrine 2 слизали решения. И кстати, код использующий Hibernate(клиентский код), имхо, выглядит уродливее, чем в Doctrine 2.
Когда Фаулер писал книгу Hibernate ещё не существовал(Hibernate начался в 2003, Фаулер написал в 2002).
Моя главная мысль: xUnit и Data Mapper существуют вне языков. Это теории, которые можно реализовать на любом ООП языке.
По поводу IDE, что PhpStrom говно, что Zend Studio. Плата за динамические типы в php. Вот например MS Visual Studio + ReSharper = реальная мощь, там такие финты вытворяются.... диву даёшься.
Symfony/FileSystem - это тупо удобно и логично.
Это сделано, чтобы пользователи фреймворка могли его расширить.На каждый чих и пук в "нормальных" проектах/фреймворках пишутся интерфейсы, в особо запущенных случаях обязательно есть абстрактный класс, даже если всего одна реализация далее по иерархии (привет Zend, sylius).
А не делать форк.
Просто порой мучаешься расширить какую-то вещь фреймворка, а при гугление везде пишут - форкай.
Форки это не фига не круто... Это лишняя головная боль.
Так что пускай лучше будут лишние интерфейсы, лишние абстрактные классы.
И таки да, дженериков не хватает.
Перегрузки методов не хватает.
Перегрузки операторов не хватает.
Неявного, явного преобразования типов не хватает.
Но это не Java прихоти, это ООП прихоти.
Последнее редактирование: