Нет, я использую интерфейсы только в доменных объектах для их слабой связи. Для меня главная задача разработки моего собственного кода с интерфейсами заключается в том, что я легко могу создавать макеты при выполнении модульного тестирования. Я не вижу смысла в насмешливых доменных объектах, поскольку они не имеют тех же зависимостей, которые имели бы сервисный уровень или класс уровня DAO.
Это, конечно, не означает, что нужно избегать использования интерфейсов в доменных объектах. Используйте там, где это необходимо. Например, в последнее время я работал над веб-приложением, в котором разные типы доменных объектов соответствуют страницам с постоянными ссылками, в которых пользователи могут оставлять комментарии. Итак, каждый из этих доменных объектов теперь реализует интерфейс «Commentable». Весь код, основанный на комментариях, затем программируется в интерфейсе Commentable, а не в доменных объектах.
SET collation_connection = 'utf8_general_ci';
тогда для ваших баз данных
ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
MySQL иногда без всякой разумной причины пробирается туда на шведском языке.
Вы должны установить как кодировку таблицы, так и кодировку соединения UTF-8
:
ALTER TABLE keywords CHARACTER SET UTF8; -- run once
и
SET NAMES 'UTF8';
SET CHARACTER SET 'UTF8';