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

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

3
Дженерикс против общего интерфейса?
Я не помню, когда я писал общий класс в прошлый раз. Каждый раз, когда я думаю, что мне это нужно, после некоторого размышления я делаю вывод, что нет. Второй ответ на этот вопрос заставил меня попросить разъяснений (поскольку я пока не могу комментировать, я сделал новый вопрос). Итак, давайте возьмем …

4
Кто расширяет интерфейсы? И почему?
AFAIK, мой класс extendsродительских классов и implementsинтерфейсов. Но я сталкиваюсь с ситуацией, когда я не могу использовать implements SomeInterface. Это объявление универсальных типов. Например: public interface CallsForGrow {...} public class GrowingArrayList <T implements CallsForGrow> // BAD, won't work! extends ArrayList<T> Здесь использование implementsсинтаксически запрещено. Сначала я подумал, что использование интерфейса …

6
Что автор подразумевает под приведением ссылки на интерфейс к любой реализации?
Я в настоящее время в процессе попытки мастер C #, так что я читаю адаптивный код через C # по Gary McLean Hall . Он пишет о шаблонах и анти-шаблонах. В части реализации и интерфейсов он пишет следующее: Разработчики, которые плохо знакомы с концепцией программирования интерфейсов, часто испытывают трудности с …

2
Принцип наименьшего удивления (POLA) и интерфейсы
Добрую четверть века назад, когда я изучал C ++, меня учили, что интерфейсы должны быть прощающими и, насколько это возможно, не заботиться о порядке вызова методов, поскольку потребитель может не иметь доступа к источнику или документации вместо это. Однако всякий раз, когда я наставлял младших программистов и старших разработчиков, меня …

5
Создают ли перечисления хрупкие интерфейсы?
Рассмотрим пример ниже. Любое изменение в перечислении ColorChoice влияет на все подклассы IWindowColor. Имеют ли перечисления тенденцию вызывать хрупкие интерфейсы? Есть ли что-то лучше, чем enum для большей полиморфной гибкости? enum class ColorChoice { Blue = 0, Red = 1 }; class IWindowColor { public: ColorChoice getColor() const=0; void setColor( …

4
Должен ли когда-либо разработчик внешнего интерфейса указывать формат JSON для внутренних разработчиков?
Я беру фронтальную роль в проекте. Должен ли я указать для моих внутренних партнеров по команде точный формат JSON, который их PHP возвращает в мой JavaScript? Например, я должен сказать им, что они должны использовать формат, подобный описанному здесь: Правильный способ структурирования JSON для внешнего интерфейса Или я должен сохранить …

5
Когда использовать интерфейсы (модульное тестирование, IoC?)
Я подозреваю, что допустил ошибку школьника и ищу уточнения. Многие классы в моем решении (C #) - осмелюсь сказать, что большинство - я закончил тем, что написал соответствующий интерфейс для. Например, интерфейс «ICalculator» и класс «Calculator», который его реализует, хотя я вряд ли заменю этот калькулятор другой реализацией. Кроме того, …

4
Как лучше организовать файлы классов и интерфейсов?
Хорошо ... после всего обсуждения я немного изменяю свой вопрос, чтобы лучше отразить конкретный пример, с которым я имею дело. У меня есть два класса ModelOneи ModelTwo, эти классы выполняют похожий тип функциональности, но не связаны друг с другом. Тем не менее, у меня есть третий класс, CommonFuncкоторый содержит некоторые …

5
Использование ключевого слова «Использование» в интерфейсе C #
Когда я использую C # для написания некоторого кода и определяю интерфейс с помощью Visual Studio 2010, он всегда включает в себя ряд операторов using (как показано в примере) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestEngine.TestNameSpace { interface ITest1 { bool testMethod(int xyz); } } Интересно, для …

2
Нелегально в PHP: есть ли причина разработки ООП?
Приведенное ниже наследование интерфейса недопустимо в PHP, но я думаю, что это было бы весьма полезно в реальной жизни. Есть ли настоящая антипаттерн или задокументированная проблема с приведенным ниже дизайном, от которой PHP защищает меня? <?php /** * Marker interface */ interface IConfig {} /** * An api sdk tool …

5
Передать объект дважды в один и тот же метод или объединить с объединенным интерфейсом?
У меня есть метод, который создает файл данных после разговора с цифровой платой: CreateDataFile(IFileAccess boardFileAccess, IMeasurer boardMeasurer) Здесь boardFileAccessи boardMeasurerтот же экземпляр Boardобъекта, который реализует оба IFileAccessи IMeasurer. IMeasurerиспользуется в этом случае для одного метода, который установит один вывод на плате активным, чтобы сделать простое измерение. Данные этого измерения затем …

3
Почему интерфейсы более полезны, чем суперклассы, для достижения слабой связи?
( Для целей этого вопроса, когда я говорю «интерфейс», я имею в виду языковую конструкциюinterface , а не «интерфейс» в другом смысле слова, то есть общедоступные методы, которые класс предлагает внешнему миру для взаимодействия и манипулировать им. ) Слабая связь может быть достигнута, если объект зависит от абстракции, а не …

5
Какая функционально-программная альтернатива интерфейсу?
Если я хочу программировать в «функциональном» стиле, чем бы заменить интерфейс? interface IFace { string Name { get; set; } int Id { get; } } class Foo : IFace { ... } Может быть Tuple<>? Tuple<Func<string> /*get_Name*/, Action<String> /*set_Name*/, Func<int> /*get_Id*/> Foo; Единственная причина, по которой я в первую …

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

6
Могу ли я рассматривать интерфейсные методы как абстрактные методы?
Я думал об этом, и у меня были некоторые сомнения. Когда я объявляю интерфейс, например: public interface MyInterface { public void method1(); public void method2(); } Могут ли эти методы интерфейса считаться абстрактными? Я имею в виду, что концепция абстрактного метода: Абстрактный метод - это метод, который объявлен, но не …

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