Запитання з тегом «interfaces»

Питання щодо міркувань щодо інтерфейсу, наприклад програмування на інтерфейс.


9
Я змінив один метод підпису і тепер маю понад 25 000 помилок. Що тепер?
Нещодавно я розпочав нову роботу, де працюю над дуже великим додатком (локація 15М). У моїй попередній роботі у нас був аналогічно великий додаток, але (на краще або на гірше) ми використовували 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)функцію EDIT: Наприклад, деякий об’єкт має стан видимості, і ці функції використовуються для його зміни. в) мати всі три 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-хвилинній програмі Річ Хікі, що викликає роздуми на готовій конференції, " Значення цінностей ", він говорить про накладні витрати на мову, як Java, і робить заяву на кшталт "Усі ці інтерфейси вбивають ваше повторне використання". Що він означає? Це правда? У пошуках відповідей я натрапив на: Принцип найменших знань …

11
Це шкідлива звичка не використовувати інтерфейси? [зачинено]
Я використовую інтерфейси рідко і знаходжу їх поширеними в інших кодах. Також я створюю підкласні та суперкласи (створюючи власні класи) рідко в коді. Це погано? Ви б запропонували змінити цей стиль? Чи має цей стиль побічні ефекти? Це тому, що я не працював над якимись великими проектами?

11
Чи застарілі заняття / методи застарілі?
Я використовував для створення багатьох абстрактних класів / методів. Потім я почав використовувати інтерфейси. Зараз я не впевнений, чи інтерфейси не роблять абстрактні класи застарілими. Вам потрібен повністю абстрактний клас? Створіть замість цього інтерфейс. Вам потрібен абстрактний клас з деякою реалізацією в ньому? Створіть інтерфейс, створіть клас. Успадкуйте клас, реалізуйте …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.