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

15
Передать объект дважды в один и тот же метод или объединить с объединенным интерфейсом?

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

15
Использование Func вместо интерфейсов для IoC

Контекст: я использую C # Я разработал класс, и чтобы изолировать его и упростить модульное тестирование, я передаю все его зависимости; он не создает объектов внутри. Однако вместо того, чтобы ссылаться на интерфейсы для получения необходимых данных, я использую ссылки общего назначения,...

15
Почему интерфейсы более полезны, чем суперклассы, для достижения слабой связи?

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

15
Могу ли я рассматривать интерфейсные методы как абстрактные методы?

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

15
Как применить принцип разделения интерфейса в C?

У меня есть модуль, скажем «M», в котором есть несколько клиентов, скажем «C1», «C2», «C3». Я хочу распределить пространство имен модуля M, то есть объявления API и данных, которые он предоставляет, в файл (ы) заголовка таким образом, чтобы - для любого клиента видны только те данные и API, которые...

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

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

14
Должен ли я написать интерфейс API перед реализацией?

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

14
Это хорошая практика для реализации двух методов Java 8 по умолчанию друг с другом?

Я проектирую интерфейс с двумя связанными методами, подобными этому: public interface ThingComputer { default Thing computeFirstThing() { return computeAllThings().get(0); } default List<Thing> computeAllThings() { return ImmutableList.of(computeFirstThing()); } } Приблизительно половина...

14
Как реализовать только часть интерфейса

При разработке в ООП интерфейс / контракт иногда дается библиотекой, которую вы не можете изменить. Давайте назовем этот интерфейс J. Теперь у вас есть объект класса A, который потребляет объекты, которые реализуют этот интерфейс. Внутри Необходима только небольшая часть определений интерфейса....

14
Должен ли я реализовать интерфейс напрямую или сделать это суперклассом?

Есть ли разница между public class A extends AbstractB implements C {...} против... public class A extends AbstractB {...} abstract class AbstractB implements C {...} Я понимаю, что в обоих случаях класс А в конечном итоге будет соответствовать интерфейсу. Во втором случае AbstractBможет обеспечить...

14
Допустимо ли использовать явную реализацию интерфейса для скрытия членов в C #?

Я понимаю, как работать с интерфейсами и явной реализацией интерфейса в C #, но мне было интересно, считается ли плохой формой прятать некоторых членов, которые не будут использоваться часто. Например: public interface IMyInterface { int SomeValue { get; set; } int AnotherValue { get; set; } bool...

14
Теперь, когда не все объявления методов в интерфейсе Java являются публичными абстрактными, следует ли объявлять методы с этими модификаторами?

Начиная с Java 8, defaultметоды были введены в интерфейсы. Фактически, это означает , что не все методы в interfaceэто abstract. Начиная с Java 9 (возможно), privateметоды будут разрешены. Это означает , что не все методы в interfaceэто public abstract. Вопрос "Должны ли методы в интерфейсе Java...

13
Является ли интерфейс, предоставляющий асинхронные функции, утечкой абстракции?

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

13
Использование метода Java по умолчанию

В течение многих десятилетий это было так , что интерфейсы были только только (только) для определения сигнатуры методы. Нам сказали, что это был «правильный способ делать вещи». Затем вышла Java 8 и сказала: Ну, теперь вы можете определить методы по умолчанию. Должен бежать, пока. Мне любопытно,...

13
Существует ли другое обоснование использования абстрактных классов / интерфейсов в C ++ и Java?

Согласно Хербу Саттеру, следует предпочитать абстрактные интерфейсы (все чисто виртуальные функции) абстрактным классам в C ++, чтобы максимально отделить реализацию. Хотя я лично считаю, что это правило очень полезно, я недавно присоединился к команде со многими программистами на Java, и в коде...

13
Два интерфейса с одинаковыми подписями

Я пытаюсь смоделировать карточную игру, в которой у карт есть два важных набора функций: Первый эффект. Это изменения состояния игры, которые происходят при игре на карте. Интерфейс для эффекта выглядит следующим образом: boolean isPlayable(Player p, GameState gs); void play(Player p, GameState...

13
Композиция по наследству, но

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

13
Это плохой ООП дизайн для симуляции с участием интерфейсов?

Я разрабатываю свою собственную маленькую ООП-программу для симуляции вампиров, волков, людей и грузовиков и пытаюсь реализовать собственное ограниченное понимание интерфейсов. ( Я все еще абстрагируюсь здесь и не имею никакой реализации кода, так что это скорее вопрос ООП-дизайна ... Я думаю!)...

13
Защищены ли авторские права на интерфейсы и методы?

Например, является ли это нарушением авторских прав, если я напишу класс с именем Random с той же самой целью и сигнатурами методов, что и у класса Microsoft .Net System.Random? Имеет ли значение, на каком языке написано? В этом случае я хочу написать класс Random для использования в ActionScript,...