Я согласен, что использование интерфейса - это не тот путь. Избегание этого паттерна даже имеет свой собственный элемент (# 18) в «Эффективной Java» Блоха .
Аргумент, который Блох делает против шаблона константного интерфейса, заключается в том, что использование констант - это деталь реализации, но реализация интерфейса для их использования раскрывает эту деталь реализации в экспортированном API.
Шаблон public|private static final TYPE NAME = VALUE;
является хорошим способом объявления константы. Лично я думаю, что лучше избегать создания отдельного класса для размещения всех ваших констант, но я никогда не видел причины не делать этого, кроме личных предпочтений и стиля.
Если ваши константы могут быть смоделированы как перечисление, рассмотрите структуру enum , доступную в версии 1.5 или более поздней.
Если вы используете версию более раннюю, чем 1.5, вы все равно можете извлечь перечисления, безопасные для типов, используя обычные классы Java. (Подробнее об этом см. на этом сайте ).
Потому что NetFlix уже имеет действительно хороший механизм рекомендаций. Если бы они знали, как легко его улучшить, они бы уже сделали это. Вся их бизнес-модель основана на перекрестных продажах товаров (фильмов) потребителям. Алгоритм рекомендаций - действительно ядро их бизнеса. Чем лучше это работает, тем больше денег они могут заработать.
Я думаю, на эту тему было написано несколько статей, но я не знаю, где они сейчас находятся, поэтому я просто объясню это здесь.
Когда люди покупают книги на Amazon (например), они, как правило, покупают книги определенного типа, поэтому можно легко предложить другие книги того же типа.
С фильмами люди могут делать то же самое, но люди обычно не делают этого. Не ограничиваю себя одним жанром. Люди могут смотреть гораздо более широкий спектр фильмов: ужасы, комедии, боевики, мелодрамы и т. Д.
Трудно предсказать, что вам нравится из этих жанров, если вы пока взяли напрокат только один фильм, а этот фильм драма.
Если бы кто-то придумал очень умный механизм рекомендаций, Netflix мог бы извлечь из этого феноменальную пользу. Я думаю они' Мы в основном ищем движок, который может рекомендовать вещи, основанные только на одном или двух фильмах. Новые клиенты, которые мало знают о Netflix, имеют больше шансов остаться, если они найдут фильмы, которые им нравятся на раннем этапе, без необходимости искать их.
На мой взгляд, у них уже есть система рекомендаций, сопоставимая с Amazon. Я думаю, они хотят его улучшить.
Я и мой коллега принимали в нем участие. У меня нет сильного опыта в области ИИ, но механизмы рекомендаций требуют некоторых глубоких знаний существующих литературных алгоритмов, таких как выборка Гиббса, метод K, ближайший сосед и т.д.
Системы рекомендаций страдают от проблем, которые трудно исправить:
В совокупности это затрудняет улучшение рекомендательных систем. Система с точностью 80% кажется отличной, но ошибается в 1 из 5 раз. Для некоторых пользователей это создает больше проблем, чем они того стоят.