Pytania otagowane jako interfaces

Pytania dotyczące zagadnień związanych z projektowaniem interfejsu, takich jak programowanie interfejsu.

8
Czy interfejs ujawniający funkcje asynchroniczne jest nieszczelną abstrakcją?
Czytam książkę Zasady, praktyki i wzorce wstrzykiwania zależności i czytam o koncepcji nieszczelnej abstrakcji, która jest dobrze opisana w książce. Obecnie refaktoryzuję bazę kodu C # przy użyciu wstrzykiwania zależności, aby zamiast blokowania były używane wywołania asynchroniczne. W tym celu rozważam interfejsy, które reprezentują abstrakcje w mojej bazie kodu i …

5
Czy ma sens definiowanie interfejsu, jeśli mam już klasę abstrakcyjną?
Mam klasę z pewnymi domyślnymi / współdzielonymi funkcjami. Używam abstract classdo tego: public interface ITypeNameMapper { string Map(TypeDefinition typeDefinition); } public abstract class TypeNameMapper : ITypeNameMapper { public virtual string Map(TypeDefinition typeDefinition) { if (typeDefinition is ClassDefinition classDefinition) { return Map(classDefinition); } ... throw new ArgumentOutOfRangeException(nameof(typeDefinition)); } protected abstract string …


2
UnsupportedOperationException w interfejsach środowiska kolekcji java
Przeglądając Framework kolekcji Java, zauważyłem, że sporo interfejsów ma komentarz (optional operation). Te metody pozwalają na implementację klas, UnsupportedOperationExceptionjeśli nie chcą po prostu implementować tej metody. Przykładem tego jest addAllmetoda w Set Interface. Teraz, jak stwierdzono w tej serii pytań, interfejsy są definiującą umową dotyczącą tego, czego może oczekiwać użycie. …



1
Dlaczego CharSequence nie definiuje zawiera (CharSequence)?
Dotyczy to zarówno Java SE, jak i Androida, ponieważ umowy są identyczne. Dokumentacja CharSequence dla Java SE Dokumentacja CharSequence dla Androida CharSequencenie definiuje contains(CharSequence)metody. Wydaje mi się, że nie mogę znaleźć przyczyny, a włączenie tego byłoby całkiem przydatne, zapobiegając potrzebie dzwonienia w CharSequence#toString()celu sprawdzenia sekwencji znaków. Na przykład w Androidzie …

5
Oddzielny interfejs dla metod mutacji
Pracowałem nad refaktoryzacją kodu i myślę, że mogłem zrobić pierwszy krok w stronę króliczej nory. Piszę przykład w Javie, ale przypuszczam, że może być agnostyczny. Mam interfejs Foozdefiniowany jako public interface Foo { int getX(); int getY(); int getZ(); } I wdrożenie jako public final class DefaultFoo implements Foo { …

9
Jakiego projektu OO użyć (czy istnieje wzorzec projektu)?
Mam dwa przedmioty reprezentujące „Bar / Klub” (miejsce, w którym pijesz / spędzasz czas z przyjaciółmi). W jednym scenariuszu potrzebuję nazwy paska, adresu, odległości, hasła W innym scenariuszu potrzebuję nazwy paska, adresu, adresu URL strony internetowej, logo Mam więc dwa obiekty reprezentujące to samo, ale z różnymi polami. Lubię używać …

4
Termin „interfejs” w C ++
Java wyraźnie rozróżnia między classi interface. (Wierzę, że C # też, ale nie mam z tym doświadczenia). Jednak podczas pisania C ++ nie ma wymuszonego rozróżnienia między klasą a interfejsem. W związku z tym zawsze postrzegałem interfejs jako obejście braku wielokrotnego dziedziczenia w Javie. Dokonanie takiego rozróżnienia jest w C …

3
Czym różnią się typy egzystencjalne od interfejsów?
Biorąc pod uwagę typ egzystencjalny T = ∃X.{op₁:X, op₂:X→boolean} i ten ogólny interfejs Java: interface T<X> { X op₁(); boolean op₂(X something); } Jakie są podstawowe różnice między typem egzystencjalnym a interfejsem Java? Oczywiście istnieją różnice składniowe i orientacja obiektowa Javy (która obejmuje również szczegóły, takie jak ukryte thisparametry itp.). …

3
Różnica między różnymi interfejsami ogólnymi kolekcji w języku C #
Od jakiegoś czasu gram z C # dla Windows i ASP.net MVC. Ale nadal jestem niejasny w kilku obszarach. Próbuję zrozumieć podstawową różnicę między problemami z wydajnością a używaniem i zamianą podobnych rodzajów Ogólnych interfejsów kolekcji . Jaka jest podstawowa różnica między IEnumerable<T>, ICollection<T>, List<T>(Class)? Wydaje mi się, że używam …

5
Zmodyfikowany wzorzec projektowania strategii
Niedawno zacząłem szukać Wzorów projektowych i jedna rzecz, którą koduję, idealnie pasuje do wzorca Strategii, z wyjątkiem jednej małej różnicy. Zasadniczo niektóre (ale nie wszystkie) z moich algorytmów wymagają przekazania dodatkowego parametru lub dwóch. Więc albo będę musiał przekazuję im dodatkowy parametr, gdy wywołuję ich metodę obliczania lub przechowuj je …



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.