Это одна из больших проблем книжных сервисов.
Одна и та же книга может быть: от разных издательств и разных редакторов. И тут становится вопрос что делать с книгой: объединять в одну или нет.
ощутимо, например, при закачке списка страниц/картинок с другого сайта, когда соединение является одним из наибольших затрат.
при тупняке/локах в БД данное решение вряд ли поможет.
не совсем согласен с пунктом:
— Автоматически исправляйте опечатки или заменяйте введенные ключевые слова другими словами из контролируемого словаря.
тот же гугл выдает результаты и предлагает исправленный вариант, для которого он нашел больше результатов.
для русскоязычных сайтов стоит добавить с статью «автозамена англ раскладки на русскую в автокомплитере»
да и вообще автокомплитер очень удобная штука для пользователя.
>> явный реестр явно инициализированных объектов
Вот это место и является минусом из-за инициализации на каждом запросе всех нужных и ненужных объектов.
В DI это решается контейнером с лямбда функциями.
Другое дело, что вместо DI можно обойтись ServiceLocator, но тут уж как кому удобно.
Ну если есть хорошее описание аннотаций, которые будут парситься, то все очень даже удобно. Doctrine тому пример.
DI — может быть очень полезна для сложных проектов и лечь в архитектуру проекта. Но тут, как говорится, главное не переборщить.
так ведь код доктрины автор и не правит.
он написал отдельный класс, который по желанию можно инкапсулировать в доктрину.
у LargeCollection немного другая задача — он работает для лимита загрузки зависимых объектов. Тоесть,
работает только для new LargeCollection($article->getComments())
При этом для какого-нибудь Factory записи станут проще
class bar {
function foo(int $a) {
}
function foo(array $a) {
}
}
но все же, иногда, строгая типизация бывает очень даже полезна.
Одна и та же книга может быть: от разных издательств и разных редакторов. И тут становится вопрос что делать с книгой: объединять в одну или нет.
Простой пример: в мягком и твердом переплете.
при тупняке/локах в БД данное решение вряд ли поможет.
— Автоматически исправляйте опечатки или заменяйте введенные ключевые слова другими словами из контролируемого словаря.
тот же гугл выдает результаты и предлагает исправленный вариант, для которого он нашел больше результатов.
для русскоязычных сайтов стоит добавить с статью «автозамена англ раскладки на русскую в автокомплитере»
да и вообще автокомплитер очень удобная штука для пользователя.
Все было прекрасно до момента использования UpcastVisitor. Код сильно не сокращает, но для понимания — усложняет.
Вот это место и является минусом из-за инициализации на каждом запросе всех нужных и ненужных объектов.
В DI это решается контейнером с лямбда функциями.
Другое дело, что вместо DI можно обойтись ServiceLocator, но тут уж как кому удобно.
DI — может быть очень полезна для сложных проектов и лечь в архитектуру проекта. Но тут, как говорится, главное не переборщить.
он написал отдельный класс, который по желанию можно инкапсулировать в доктрину.
у LargeCollection немного другая задача — он работает для лимита загрузки зависимых объектов. Тоесть,
работает только для new LargeCollection($article->getComments())
автор, нужно было выложить вместе с коллекцией.