Разве весь смысл интерфейса в том, что несколько классов придерживаются набора правил и
Вопросы по проектированию интерфейса, такие как программирование интерфейса.
Разве весь смысл интерфейса в том, что несколько классов придерживаются набора правил и
Я недавно начал новую работу, где я работаю над очень большим приложением (15M loc). В моей предыдущей работе у нас было такое же большое приложение, но (к лучшему или к худшему) мы использовали OSGi, что означало, что приложение было разбито на множество микросервисов, которые можно было...
Я изучал и программировал на C # в течение некоторого времени. Но все же я не могу понять полезность интерфейсов. Они приносят слишком мало к столу. Кроме предоставления сигнатур функций, они ничего не делают. Если я могу вспомнить имена и подписи функций, которые должны быть реализованы, в них нет...
Я всегда читаю, что композиция должна быть предпочтительнее наследования. Например, пост в блоге, посвященный разным видам , пропагандирует использование композиции вместо наследования, но я не вижу, как достигается полиморфизм. Но у меня есть ощущение, что когда люди говорят, что они предпочитают...
В Java 8 интерфейсы могут содержать реализованные методы, статические методы и так называемые методы «по умолчанию» (которые классам реализации не нужно переопределять). На мой (возможно, наивный) взгляд, не было необходимости нарушать подобные интерфейсы. Интерфейсы всегда были контрактом, который...
В настоящее время в нашей команде ведутся дебаты о том, является ли изменение дизайна кода, позволяющее модульное тестирование, запахом кода, или в какой степени это может быть сделано без запаха кода. Это произошло потому, что мы только начинаем внедрять практики, которые присутствуют практически...
Изучая курс для начинающих по аппаратному / программному интерфейсу и операционным системам, часто возникает вопрос о том, будет ли лучше заменить некоторые аппаратные части программным обеспечением и наоборот. Я не могу установить...
Я читал « Чистый код » Роберта Мартина, чтобы, надеюсь, стать лучшим программистом. Хотя до сих пор ни один из них не был действительно новаторским, это заставило меня по-другому думать о том, как я проектирую приложения и пишу код. Есть одна часть книги, с которой я не только не согласен, но и не...
«Абстрактный класс» и «интерфейс» являются похожими понятиями, причем интерфейс является более абстрактным из двух. Одним из отличительных факторов является то, что абстрактные классы предоставляют реализации методов для производных классов, когда это необходимо. Однако в C # этот дифференцирующий...
Что лучше и почему? (С точки зрения дизайна интерфейса): а) иметь два Show()и Hide()функции б) иметь одну SetVisible(bool visible)функцию РЕДАКТИРОВАТЬ: Например, некоторые объекты имеют состояние видимости, и эта функция используется для его изменения. в) иметь все три Show(), Hide(),...
В C # следующий код действителен interface I{ int property{get;set;} } Что не имеет никакого смысла для меня. Это, кажется, нарушает один из самых важных принципов интерфейсов: отсутствие состояния (другими словами, нет полей). Разве свойство не создает неявное приватное поле? Разве это не очень...
Рядом со мной сидит коллега, который разработал такой интерфейс: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Проблема в том, что сейчас мы не используем этот «конечный» параметр где-либо в нашем коде, он просто...
В 29 -минутном выступлении Рич Хики, посвященном размышлениям на конференции Goto « Значение ценностей », он рассказывает о накладных расходах такого языка, как Java, и делает следующее заявление: «Все эти интерфейсы убивают ваше повторное использование». Что он имеет в виду? Это правда? В поисках...
Я редко использую интерфейсы и нахожу их общими в чужом коде. Также я создаю подклассы и суперклассы (создавая свои собственные классы) редко в своем коде. Это плохо? Вы бы предложили изменить этот стиль? У этого стиля есть побочные эффекты? Это потому, что я не работал над крупными проектами?...
Я использовал для создания много абстрактных классов / методов. Затем я начал использовать интерфейсы. Теперь я не уверен, что интерфейсы не делают абстрактные классы устаревшими. Вам нужен полностью абстрактный класс? Вместо этого создайте интерфейс. Вам нужен абстрактный класс с некоторой...
Я заметил, что в PHP5 интерфейсы были добавлены в язык. Тем не менее, поскольку PHP так свободно набран, кажется, что большинство преимуществ использования интерфейсов потеряно. Почему это включено в...
После прочтения Должны ли имена пакетов быть единственными или множественными? мне пришло в голову, что я никогда не видел должной дискуссии, касающейся одной из моих любимых мозгов: именования реализаций интерфейсов. Давайте предположим, что у вас есть интерфейс, Orderкоторый предназначен для...
Я пытаюсь получить хорошее представление о том, как реализовать хорошее разделение между пользовательским интерфейсом и моделью, но мне сложно понять, где именно разделить линии. Я смотрел на Model-View-Presenter, но я не уверен, как именно реализовать его. Например, мой вид имеет несколько...
Довольно просто. Я реализую интерфейс, но есть одно свойство, которое не нужно для этого класса и, фактически, не должно использоваться. Моей первоначальной идеей было сделать что-то вроде: int IFoo.Bar { get { raise new NotImplementedException(); } } Я полагаю, что в этом нет ничего плохого, но...
Если мой класс implements- интерфейс, то могу ли я сказать, что я следую за наследством? Я знаю, что когда класс extendsдругой класс, то это