Я так понимаю, что эти 90К фолловеров — боты. Получается, что в твиттере уже прилично ботов и без этого Сантьяго, которые что-то пишут, фолловят, отписываются…
Сколько раз убеждаюсь, что практически нет аналогий из реальной жизни для разработки ПО. Вроде бы похожая параллель, да не то. Вот и кирпич — это материал, что-то осязаемое. А паттерн — это архитектурное решение и реализация его может быть различной для разных систем, стандартным кирпичом здесь не обойтись.
Странно, что организаторы конкурса добавили возможность узнать имя соперника. Вообще, что от этого конкурса, что от последнего на aichallenge.org, остался осадок от того, что у многих ботов в топе AI как такового и не было.
> Отлично, а что если какой-нибудь другой программист захочет вместо файлов использовать базу данных? Для этого ему нужно создать класс DatabaseStorage, реализовать интерфейс StorageInterface и заменить все вхождения FileStorage. Но изменение библиотеки сулит проблемы с её обновлениями.
Какие именно проблемы появляются?
И если ранее в конструктор передавался интерфейс, я после удачной компиляции более менее буду уверен в корректности программы. Передача строки не гарантирует ничего. Тем более, что с ленивой загрузкой это обнаруживается только во время выполнения.
Вариант 2 усложняет логику. Если закрыть название, то надо сделать несколько лишних мыследвижений для того, чтобы понять, что делает функция.
Вариант 3 не пройдет тест «Вася».
> Отлично, а что если какой-нибудь другой программист захочет вместо файлов использовать базу данных? Для этого ему нужно создать класс DatabaseStorage, реализовать интерфейс StorageInterface и заменить все вхождения FileStorage. Но изменение библиотеки сулит проблемы с её обновлениями.
Какие именно проблемы появляются?
И если ранее в конструктор передавался интерфейс, я после удачной компиляции более менее буду уверен в корректности программы. Передача строки не гарантирует ничего. Тем более, что с ленивой загрузкой это обнаруживается только во время выполнения.