Интерфейсы, имеющие только одну реализацию

При использовании jmock вы можете имитировать конкретный класс, если вы установите импостеризатор класса. Я заметил что самозванец класса находится в устаревшем пакете, поэтому я действительно не хочу его использовать (особенно потому, что очень легко извлечь интерфейс с помощью инструментов рефакторинга в моей IDE). Мне не нравится иметь переменные экземпляра конкретных классы тоже.

Однако, извлекая интерфейс, я заметил, что в моей кодовой базе появляется шаблон. В большинстве случаев интерфейс имеет только один реализующий конкретный класс. Я предпочитаю использовать интерфейс везде, где это возможно, но кажется действительно многословно иметь все эти дополнительные файлы. Кроме того, немного утомительно обновлять интерфейс и обновлять средство реализации каждый раз, когда я хочу добавить новый метод в класс.

Это просто цена, которую вы платите за правильную абстракцию, или есть лучший подход, о котором я не думал? ses реализует интерфейс, даже если в нем есть только геттеры / сеттеры?

6
задан Dave 30 July 2011 в 15:33
поделиться