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

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

3
Generics vs загальний інтерфейс?
Я не пам'ятаю, коли я писав загальний клас минулого разу. Кожен раз, коли я думаю, що мені це потрібно після роздумів, я роблю висновок, що цього не роблю. Друга відповідь на це питання змусила мене попросити роз'яснення (оскільки я поки не можу коментувати, я поставила нове запитання). Тому візьмемо даний …

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 class ColorChoice { Blue = 0, Red = 1 }; class IWindowColor { public: ColorChoice getColor() const=0; void setColor( const ColorChoice …

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

5
Коли використовувати інтерфейси (тестування одиниць, IoC?)
Я підозрюю, що тут допустив помилку школяра, і шукаю роз'яснення. Багато класів у моєму рішенні (C #) - наважуся сказати, що більшість - я закінчив написати відповідний інтерфейс для. Наприклад, інтерфейс "ICalculator" та клас "Калькулятор", який реалізує його, хоча я ніколи не зможу замінити цей калькулятор іншою реалізацією. Крім того, …

4
Як найкраще впорядкувати файли класів та інтерфейсів?
Гаразд .. після усієї дискусії я трохи змінюю своє питання, щоб краще відобразити конкретний приклад, з яким я маю справу. У мене є два класи, ModelOneі ModelTwoці класи виконують аналогічні функції, але не пов'язані між собою. Однак у мене є третій клас, CommonFuncякий містить деяку публічну функціональність, яка реалізована в …

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

2
Незаконне в PHP: Чи є причина дизайну OOP?
Наведене нижче інтерфейс є спадкоємним для 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.