Вопросы с тегом «interfaces»

Вопросы по проектированию интерфейса, такие как программирование интерфейса.


9
Я изменил одну сигнатуру метода, и теперь у меня более 25 000 ошибок. Что теперь?
Я недавно начал новую работу, где я работаю над очень большим приложением (15M loc). В моей предыдущей работе у нас было такое же большое приложение, но (к лучшему или к худшему) мы использовали OSGi, что означало, что приложение было разбито на множество микросервисов, которые можно было независимо изменять, компилировать и …

19
Чем полезны интерфейсы?
Я изучал и программировал на C # в течение некоторого времени. Но все же я не могу понять полезность интерфейсов. Они приносят слишком мало к столу. Кроме предоставления сигнатур функций, они ничего не делают. Если я могу вспомнить имена и подписи функций, которые должны быть реализованы, в них нет необходимости. …
158 interfaces 

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

5
Почему стандартные и статические методы были добавлены к интерфейсам в Java 8, когда у нас уже были абстрактные классы?
В Java 8 интерфейсы могут содержать реализованные методы, статические методы и так называемые методы «по умолчанию» (которые классам реализации не нужно переопределять). На мой (возможно, наивный) взгляд, не было необходимости нарушать подобные интерфейсы. Интерфейсы всегда были контрактом, который вы должны выполнить, и это очень простая и чистая концепция. Теперь это …

15
Должны ли мы разрабатывать наш код с самого начала, чтобы включить модульное тестирование?
В настоящее время в нашей команде ведутся дебаты о том, является ли изменение дизайна кода, позволяющее модульное тестирование, запахом кода, или в какой степени это может быть сделано без запаха кода. Это произошло потому, что мы только начинаем внедрять практики, которые присутствуют практически во всех других компаниях, занимающихся разработкой программного …

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

7
Должны ли имена интерфейсов начинаться с префикса «I»?
Я читал « Чистый код » Роберта Мартина, чтобы, надеюсь, стать лучшим программистом. Хотя до сих пор ни один из них не был действительно новаторским, это заставило меня по-другому думать о том, как я проектирую приложения и пишу код. Есть одна часть книги, с которой я не только не согласен, …

7
Когда использовать абстрактные классы вместо интерфейсов с методами расширения в C #?
«Абстрактный класс» и «интерфейс» являются похожими понятиями, причем интерфейс является более абстрактным из двух. Одним из отличительных факторов является то, что абстрактные классы предоставляют реализации методов для производных классов, когда это необходимо. Однако в C # этот дифференцирующий фактор был уменьшен недавним введением методов расширения, которые позволяют предоставлять реализации для …

10
Лучше Show () + Hide () или SetVisible (bool видимый)?
Что лучше и почему? (С точки зрения дизайна интерфейса): а) иметь два Show()и Hide()функции б) иметь одну SetVisible(bool visible)функцию РЕДАКТИРОВАТЬ: Например, некоторые объекты имеют состояние видимости, и эта функция используется для его изменения. в) иметь все три Show(), Hide(), SetVisible(bool visible)функции
59 java  c++  interfaces 

3
Почему C # допускает свойства в интерфейсах?
В C # следующий код действителен interface I{ int property{get;set;} } Что не имеет никакого смысла для меня. Это, кажется, нарушает один из самых важных принципов интерфейсов: отсутствие состояния (другими словами, нет полей). Разве свойство не создает неявное приватное поле? Разве это не очень плохо для интерфейсов?

9
Программирование для будущего использования интерфейсов
Рядом со мной сидит коллега, который разработал такой интерфейс: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Проблема в том, что сейчас мы не используем этот «конечный» параметр где-либо в нашем коде, он просто есть, потому что нам, возможно, придется использовать его …

4
Что имел в виду Рич Хики, когда сказал: «Вся эта специфика [интерфейсов / классов / типов] убивает ваше повторное использование!»
В 29 -минутном выступлении Рич Хики, посвященном размышлениям на конференции Goto « Значение ценностей », он рассказывает о накладных расходах такого языка, как Java, и делает следующее заявление: «Все эти интерфейсы убивают ваше повторное использование». Что он имеет в виду? Это правда? В поисках ответов я наткнулся на: Принцип Наименьшего …

11
Это плохая привычка не использовать интерфейсы? [закрыто]
Я редко использую интерфейсы и нахожу их общими в чужом коде. Также я создаю подклассы и суперклассы (создавая свои собственные классы) редко в своем коде. Это плохо? Вы бы предложили изменить этот стиль? У этого стиля есть побочные эффекты? Это потому, что я не работал над крупными проектами?

11
Являются ли абстрактные классы / методы устаревшими?
Я использовал для создания много абстрактных классов / методов. Затем я начал использовать интерфейсы. Теперь я не уверен, что интерфейсы не делают абстрактные классы устаревшими. Вам нужен полностью абстрактный класс? Вместо этого создайте интерфейс. Вам нужен абстрактный класс с некоторой реализацией в нем? Создайте интерфейс, создайте класс. Наследуй класс, реализуй …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.