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

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


8
По умолчанию против Impl при реализации интерфейсов в Java
После прочтения Должны ли имена пакетов быть единственными или множественными? мне пришло в голову, что я никогда не видел должной дискуссии, касающейся одной из моих любимых мозгов: именования реализаций интерфейсов. Давайте предположим, что у вас есть интерфейс, Orderкоторый предназначен для реализации различными способами, но при первом создании проекта существует только …

4
Реализация идеи Модель-Представление-Презентатор
Я пытаюсь получить хорошее представление о том, как реализовать хорошее разделение между пользовательским интерфейсом и моделью, но мне сложно понять, где именно разделить линии. Я смотрел на Model-View-Presenter, но я не уверен, как именно реализовать его. Например, мой вид имеет несколько диалогов. Должен ли быть класс View с экземплярами каждого …


5
Реализация интерфейса, когда вам не нужно одно из свойств
Довольно просто. Я реализую интерфейс, но есть одно свойство, которое не нужно для этого класса и, фактически, не должно использоваться. Моей первоначальной идеей было сделать что-то вроде: int IFoo.Bar { get { raise new NotImplementedException(); } } Я полагаю, что в этом нет ничего плохого, но это не кажется «правильным». …

6
Лучше иметь 2 метода с ясным значением или только 1 метод двойного использования?
Чтобы упростить интерфейс, лучше просто не иметь getBalance()метод? Переход 0к charge(float c);тому же результату даст: public class Client { private float bal; float getBalance() { return bal; } float charge(float c) { bal -= c; return bal; } } Может быть, сделать заметку в javadoc? Или просто оставьте это пользователю …
30 interfaces  cqrs 

4
Почему .compareTo () в интерфейсе, а .equals () в классе в Java?
Я хочу знать, почему интерфейс .compareTo()находится в Comparableинтерфейсе, а метод like .equals- в Objectклассе. Мне кажется произвольным, почему такой метод .compareTo()уже не в Objectклассе. Чтобы использовать .compareTo(), вы реализуете Comparableинтерфейс и реализуете .compareTo()метод для ваших целей. Для .equals()метода вы просто переопределяете метод в своем классе, так как все классы наследуются …

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

10
Интерфейсы на абстрактном классе
У меня и моего коллеги разные мнения о взаимоотношениях между базовыми классами и интерфейсами. Я полагаю, что класс не должен реализовывать интерфейс, если только этот класс не может использоваться, когда требуется реализация интерфейса. Другими словами, мне нравится видеть такой код: interface IFooWorker { void Work(); } abstract class BaseWorker { …

11
Объявление интерфейса в том же файле, что и базовый класс, это хорошая практика?
Чтобы быть взаимозаменяемыми и тестируемыми, обычно сервисы с логикой должны иметь интерфейс, например public class FooService: IFooService { ... } Что касается дизайна, я согласен с этим, но одна вещь, которая беспокоит меня при таком подходе, заключается в том, что для одного сервиса вам нужно объявить две вещи (класс и …

9
Наименование интерфейса: префикс 'Can-' vs суффикс '-Able'
Обычно в качестве суффикса для интерфейсов используется «-able», например Сериализуемый Печатный Enumerable Питьевой Shootable Вращающийся Я думал, что «может» может быть лучше, потому что это может быть более наглядным. Да, это более многословно, и это добавляет шум к имени интерфейса. В частности, могут использоваться пассивные глаголы. Например, 1 означает «Стреляющий» …
29 api  interfaces 

2
Как называется следующий (анти) шаблон? Каковы его преимущества и недостатки?
За последние несколько месяцев я несколько раз спотыкался о следующей технике / схеме. Тем не менее, я не могу найти конкретное имя, и я не уверен на 100% во всех его преимуществах и недостатках. Шаблон идет следующим образом: В интерфейсе Java набор общих методов определяется как обычно. Однако при использовании …

2
Реализация чистых абстрактных классов и интерфейсов
Хотя это не является обязательным в стандарте C ++, похоже, что GCC, например, реализует родительские классы, в том числе чисто абстрактные, путем включения указателя на v-таблицу для этого абстрактного класса в каждом экземпляре рассматриваемого класса. , Естественно, это увеличивает размер каждого экземпляра этого класса указателем на каждый родительский класс, который …

8
Дизайн интерфейса, где функции должны вызываться в определенной последовательности
Задача состоит в том, чтобы настроить аппаратную часть устройства, в соответствии с некоторой входной спецификацией. Это должно быть достигнуто следующим образом: 1) Соберите информацию о конфигурации. Это может случиться в разное время и в разных местах. Например, модуль A и модуль B могут одновременно запрашивать (в разное время) некоторые ресурсы …
24 c++  interfaces 

5
Как вы развиваете и версии интерфейса?
Скажем, у вас есть интерфейс IFoo: public interface IFoo { void Bar(string s); int Quux(object o); } Во второй версии API вы должны добавить метод Glargк этому интерфейсу. Как это сделать, не нарушая существующих пользователей API и не поддерживая обратную совместимость? Это в основном нацелено на .NET, но может применяться …

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