Pytania otagowane jako interfaces

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

5
Jak zastosować zasadę segregacji interfejsów w C?
Mam moduł, powiedz „M”, który ma kilku klientów, powiedz „C1”, „C2”, „C3”. Chcę podzielić przestrzeń nazw modułu M, tj. Deklaracje interfejsów API i danych, które udostępnia, do plików nagłówkowych w taki sposób, aby - dla każdego klienta widoczne są tylko wymagane przez niego dane i interfejsy API; reszta przestrzeni nazw …
15 c  interfaces  solid 

5
Używanie Func zamiast interfejsów dla IoC
Kontekst: Używam C # Zaprojektowałem klasę. Aby ją odizolować i ułatwić testowanie jednostek, przekazuję wszystkie jej zależności; nie tworzy wewnętrznej instancji obiektu. Jednak zamiast odwoływać się do interfejsów w celu uzyskania potrzebnych danych, odwołuję się do Funcs ogólnego przeznaczenia zwracających wymagane dane / zachowanie. Kiedy wstrzykuję jej zależności, mogę to …

2
Teraz, gdy nie wszystkie deklaracje metod w interfejsie Java są publicznie abstrakcyjne, czy metody powinny być deklarowane za pomocą tych modyfikatorów?
Począwszy od Java 8, defaultmetody zostały wprowadzone do interfejsów. W efekcie oznacza to, że nie wszystkie metody interfacesą abstract. Począwszy od Java 9 (być może), privatemetody będą dozwolone. Oznacza to, że nie wszystkie metody interfacesą public abstract. Pytanie „Czy metody w interfejsie Java powinny być deklarowane z publicmodyfikatorem dostępu lub …

1
Czy dobrą praktyką jest wdrażanie dwóch domyślnych metod Java 8 pod względem siebie?
Projektuję interfejs za pomocą dwóch powiązanych metod, podobnych do tego: public interface ThingComputer { default Thing computeFirstThing() { return computeAllThings().get(0); } default List<Thing> computeAllThings() { return ImmutableList.of(computeFirstThing()); } } Około połowa implementacji obliczy tylko jedną rzecz, podczas gdy druga połowa może obliczyć więcej. Czy ma to jakiś precedens w powszechnie …


5
Czy powinienem napisać interfejs API przed implementacją?
Ostatnio zajmuję się bardziej „zorganizowanym” programowaniem i dowiaduję się, że powinienem programować interfejs, a nie implementację. Mając to na uwadze, czy lepiej byłoby „naszkicować” projekt w interfejsach przed napisaniem implementacji, jeśli to możliwe? A jeśli tak jest, to w przypadku korzystania z bibliotek stron trzecich (tj. Lidgren), czy powinienem owijać …


6
Jak zaimplementować tylko część interfejsu
Podczas programowania w OOP czasami biblioteka / interfejs udostępnia interfejs, którego nie można zmienić. Nazwijmy ten interfejs J. Teraz masz obiekt klasy A, który zużywa obiekty implementujące ten interfejs. Wewnątrz Potrzebna jest tylko niewielka część definicji interfejsu. Niektóre klasy obiektów są tworzone przeze mnie podczas projektu (nazwijmy jedną z nich …

1
Domyślne użycie metody Java
Przez dziesięciolecia to było tak, że interfejsy były tylko tylko (tylko) dla określenia podpisy metod. Powiedziano nam, że to „właściwy sposób na robienie rzeczy”. Potem pojawiła się Java 8 i powiedziała: Teraz możesz zdefiniować domyślne metody. Muszę uciekać, pa. Jestem ciekawy, w jaki sposób jest to trawione zarówno przez doświadczonych …

3
Czy to zły projekt OOP do symulacji z udziałem interfejsów?
Projektuję swój mały program OOP do symulacji wampirów, wilków, ludzi i ciężarówek i staram się wdrożyć moje własne ograniczone rozumienie interfejsów. ( Nadal tu streszczam i nie mam jeszcze implementacji kodu, więc jest to raczej kwestia projektu OOP ... myślę!) Czy mam rację, szukając „wspólnego zachowania” między tymi klasami i …

4
Dwa interfejsy z identycznymi podpisami
Próbuję modelować grę karcianą, w której karty mają dwa ważne zestawy funkcji: Pierwszy to efekt. Są to zmiany stanu gry, które mają miejsce podczas gry w kartę. Interfejs efektu jest następujący: boolean isPlayable(Player p, GameState gs); void play(Player p, GameState gs); Możesz uznać kartę za możliwą do zagrania tylko wtedy, …
13 interfaces 


4
Czy istnieje inne uzasadnienie użycia abstrakcyjnych klas / interfejsów w C ++ i Javie
Według Herb Suttera należy preferować abstrakcyjne interfejsy (wszystkie czyste funkcje wirtualne) niż abstrakcyjne klasy w C ++, aby oddzielić implementację tak dalece, jak to możliwe. Chociaż osobiście uważam tę zasadę za bardzo przydatną, ostatnio dołączyłem do zespołu z wieloma programistami Java i w kodzie Java ta wytyczna wydaje się nie …

4
Czy interfejsy i podpisy metod są chronione prawem autorskim?
Na przykład, czy to naruszenie praw autorskich, jeśli napiszę klasę o nazwie Losowo z dokładnie tym samym celem i tą samą sygnaturą metody, co klasa Microsoft .Net System.Random? Czy robi to różnicę w jakim języku jest napisany? W tym przypadku chcę napisać klasę Random do użytku w ActionScript, która nie …

3
Skład zamiast dziedziczenia, ale
Próbuję nauczyć się inżynierii oprogramowania i napotykam sprzeczne informacje, które mnie dezorientują. Uczyłem się OOP i czym są abstrakcyjne klasy / interfejsy i jak z nich korzystać, ale potem czytam, że należy „preferować kompozycję zamiast dziedziczenia”. Rozumiem, że skład ma miejsce, gdy jedna klasa tworzy / tworzy obiekt innej klasy …

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.