Интерфейсы и связь - PullRequest
       2

Интерфейсы и связь

2 голосов
/ 13 января 2010

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

У меня есть проект, в котором я делаю это, но сейчас я получаю довольно много интерфейсов, пытаясь сохранить относительно слабую связь между собой.

Ответы [ 2 ]

5 голосов
/ 13 января 2010

Не зная специфики вашего дизайна, вот как должен работать принцип разделения интерфейсов (pdf).

Вы должны предоставить интерфейс для каждого класса, для которого вам может понадобиться поменять реализацию (например, я бы не стал создавать интерфейс для каждого DTO).

1 голос
/ 13 января 2010

Я обычно создаю интерфейсы, чтобы свободно связывать классы для тестирования, чтобы я мог создавать подделки для классов, которые я не заинтересован в тестировании. Например, класс менеджера бизнес-логики будет иметь ссылку на интерфейс для класса доступа к данным.

Я создаю интерфейс, только если мне действительно нужен «шов» для моих тестов, я не просто создаю интерфейсы для всего.

...