Czy nie chodzi o to, że wiele klas przestrzega zestawu reguł i
Pytania dotyczące zagadnień związanych z projektowaniem interfejsu, takich jak programowanie interfejsu.
Czy nie chodzi o to, że wiele klas przestrzega zestawu reguł i
Niedawno rozpocząłem nową pracę, w której pracuję nad bardzo dużą aplikacją (15M loc). W mojej poprzedniej pracy mieliśmy podobnie dużą aplikację, ale (na lepsze lub gorsze) korzystaliśmy z OSGi, co oznaczało, że aplikacja została podzielona na wiele mikrousług, które można niezależnie zmieniać,...
Od jakiegoś czasu studiuję i koduję w C #. Ale nadal nie mogę zrozumieć przydatności interfejsów. Za mało przynoszą na stół. Poza dostarczeniem sygnatur funkcji nic nie robią. Jeśli pamiętam nazwy i podpis funkcji, które należy zaimplementować, nie ma takiej potrzeby. Są one po to, aby upewnić się,...
Zawsze czytam, że kompozycja ma pierwszeństwo przed dziedziczeniem. Blogu na przeciwieństwie rodzaju , na przykład, opowiada się za pomocą kompozycji przez dziedziczenie, ale nie mogę zobaczyć, jak polimorfizm został osiągnięty. Mam jednak wrażenie, że kiedy ludzie mówią, że wolą kompozycję, to...
W Javie 8 interfejsy mogą zawierać zaimplementowane metody, metody statyczne i tak zwane metody „domyślne” (których klasy implementujące nie muszą zastępować). W mojej (prawdopodobnie naiwnej) opinii nie było potrzeby naruszania takich interfejsów. Interfejsy zawsze były umową, którą musisz...
W naszym zespole toczy się obecnie debata na temat tego, czy modyfikacja projektu kodu w celu umożliwienia testowania jednostkowego jest zapachem kodu lub w jakim stopniu można to zrobić bez zapachu kodu. Stało się tak, ponieważ dopiero zaczynamy wprowadzać praktyki, które są obecne w prawie każdej...
Studiując kurs dla początkujących na temat interfejsu sprzętowego / programowego i systemów operacyjnych, często pojawia się pytanie, czy lepiej byłoby wymienić niektóre części sprzętowe na oprogramowanie i odwrotnie. Nie mogę nawiązać
Czytam „ Czysty kod ” Roberta Martina, aby, mam nadzieję, zostać lepszym programistą. Chociaż jak dotąd żaden z nich nie był przełomowy, zmusił mnie do odmiennego myślenia o sposobie projektowania aplikacji i pisania kodu. Jest jedna część książki, z którą nie tylko się nie zgadzam, ale nie ma dla...
„Klasa abstrakcyjna” i „interfejs” są podobnymi pojęciami, a interfejs jest bardziej abstrakcyjny z tych dwóch. Jednym z czynników różnicujących jest to, że klasy abstrakcyjne zapewniają w razie potrzeby implementacje metod dla klas pochodnych. Jednak w języku C # ten czynnik różnicujący został...
Co jest lepsze i dlaczego? (Z punktu widzenia projektowania interfejsu): a) Mieć dwa Show()i Hide()funkcje b) Aby mieć jedną SetVisible(bool visible)funkcję EDYCJA: Na przykład niektóre obiekty mają stan widoczności i ta funkcja służy do jego zmiany. c) wszystkie trzy Show(), Hide(),...
W języku C # następujący kod jest poprawny interface I{ int property{get;set;} } To nie ma dla mnie żadnego sensu. Wydaje się to łamać jedną z najważniejszych zasad interfejsów: brak stanu (innymi słowy brak pól). Czy właściwość nie tworzy niejawnego pola prywatnego? Czy to nie byłoby naprawdę...
Obok mnie siedzi kolega, który zaprojektował taki interfejs: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Problem polega na tym, że obecnie nie używamy tego parametru „end” nigdzie w naszym kodzie, po...
W inspirującej myśli Richa Hickeya na konferencji goto „ Wartość wartości ” po 29 minutach mówi o narzutach związanych z językiem takim jak Java i mówi: „Wszystkie te interfejsy zabijają ponowne użycie”. Co on ma na myśli? Czy to prawda? W poszukiwaniu odpowiedzi natknąłem się na: Zasada...
Używam interfejsów rzadko i uważam je za wspólne w innych kodach. Poza tym w kodzie rzadko tworzę podklasy i superklasy (tworząc własne klasy). Czy to źle? Czy sugerowałbyś zmianę tego stylu? Czy ten styl ma jakieś skutki uboczne? Czy to dlatego, że nie pracowałem przy dużych...
Kiedyś tworzyłem wiele abstrakcyjnych klas / metod. Potem zacząłem używać interfejsów. Teraz nie jestem pewien, czy interfejsy nie powodują, że klasy abstrakcyjne stają się przestarzałe. Potrzebujesz w pełni abstrakcyjnej klasy? Zamiast tego utwórz interfejs. Potrzebujesz abstrakcyjnej klasy z...
Zauważyłem, że od PHP5 dodano interfejsy do języka. Ponieważ jednak PHP jest tak luźno wpisane, wydaje się, że większość korzyści płynących z używania interfejsów została utracona. Dlaczego jest to uwzględnione w
Po przeczytaniu Czy nazwy pakietów powinny być w liczbie pojedynczej czy mnogiej? przyszło mi do głowy, że nigdy nie widziałem właściwej debaty na temat jednego z moich domowych pomysłów: nazewnictwa implementacji interfejsów. Załóżmy, że masz interfejs, Orderktóry ma być implementowany na różne...
Próbuję dobrze zrozumieć, jak zaimplementować dobre oddzielenie interfejsu użytkownika od modelu, ale mam problem z ustaleniem, gdzie dokładnie podzielić linie. Patrzyłem na Model-View-Presenter, ale nie jestem pewien, jak dokładnie go wdrożyć. Na przykład mój widok ma wiele okien dialogowych....
Całkiem proste. Implementuję interfejs, ale jest jedna właściwość, która jest niepotrzebna dla tej klasy i w rzeczywistości nie powinna być używana. Mój początkowy pomysł polegał na zrobieniu czegoś takiego: int IFoo.Bar { get { raise new NotImplementedException(); } } Przypuszczam, że nie ma w...
Jeśli moja klasa implementsjest interfejsem, to czy mogę powiedzieć, że śledzę dziedziczenie? Wiem, że kiedy klasa jest extendsinną klasą, to jest to