Бесполезные интерфейсы - PullRequest
22 голосов
/ 05 июня 2009

Зачем вам когда-либо использовать интерфейс, если у вас будет только одна его реализация?

Ответы [ 25 ]

0 голосов
/ 05 июня 2009

В ряде других ответов упоминается «работа с другими», и это, безусловно, проблема. Проект с 10 программистами должен будет подходить к чему-то другому, нежели проект с одним, и, к сожалению, планировать архитектуру программного обеспечения таким образом, чтобы в нее могли внести участие несколько человек, кажется, что люди всегда учатся трудным путем.

Кто-нибудь может предложить какие-нибудь хорошие книги или статьи?

0 голосов
/ 05 июня 2009

Я предпочитаю не определять интерфейс, если он мне действительно не нужен. ИМО, интерфейс является одним из наиболее часто используемых шаблонов проектирования. Я думаю, что дело, на которое вы ссылаетесь, связано с вопросом «Что если ... понадобится в будущем?». Поскольку разработчик еще не гадалка ... Я бы придерживался интерфейса "недоиспользование".

0 голосов
/ 12 июня 2009

Примером, где может иметь смысл создание интерфейса для отдельного класса, (как уже упоминали другие), когда мы можем ожидать его расширения.

Например, если у меня есть инструмент отслеживания, который я создаю для своего личного использования, он будет использовать сервер SQL. Я создаю интерфейс для абстракции БД, хотя методы БД содержатся в одном классе. Причина в том, что это упростит задачу расширения приложения для использования других платформ БД.

Я понимаю, что подобные типы абстракций уже существуют в .NET Framework, но я подумал, что это подходящий пример.

0 голосов
/ 14 августа 2011

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

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

0 голосов
/ 05 июня 2009

потому что у вас может быть два или более в будущем

Сложение После прочтения некоторых комментариев: Пересмешка объектов: это будет означать, что у вас будет более одной реализации вашего интерфейса, а у вас - другая реализация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...