Widzę najbardziej niezmienne POJO napisane w ten sposób: public class MyObject { private final String foo; private final int bar; public MyObject(String foo, int bar) { this.foo = foo; this.bar = bar; } public String getFoo() { return foo; } public int getBar() { return bar; } } Mimo to …
Zaimplementowanie tworzenia łańcuchów na fasoli jest bardzo przydatne: nie trzeba przeciążać konstruktorów, mega konstruktorów, fabryk i zapewnia większą czytelność. Nie mogę wymyślić żadnych wad, chyba że chcesz, aby twój obiekt był niezmienny , w którym to przypadku i tak nie miałby żadnych ustawień. Czy jest więc powód, dla którego nie …
Metoda A wywołuje metodę B, która z kolei wywołuje metodę C. Nie ma obsługi wyjątków w metodzie B lub metodzie C. Ale istnieje metoda obsługi wyjątków w metodzie A. W metodzie C występuje wyjątek. Teraz wyjątek dotyczy metody MethodA, która odpowiednio ją obsługuje. Co jest z tym nie tak? Moim …
Stworzyłem prostą aplikację Java MVC, która dodaje rekordy do formularzy danych do bazy danych. Moja aplikacja zbiera dane, sprawdza je i przechowuje. Wynika to z faktu, że dane pochodzą od różnych użytkowników online. dane mają głównie charakter liczbowy. Teraz, gdy dane liczbowe są przechowywane w bazie danych (serwer SQL), chcę, …
Nasz kolega promuje pisanie testów jednostkowych jako faktycznie pomagających nam udoskonalić nasz projekt i refaktoryzować rzeczy, ale nie rozumiem, jak to zrobić. Jeśli ładuję plik CSV i analizuję go, w jaki sposób test jednostkowy (sprawdzanie poprawności wartości w polach) pomoże mi zweryfikować mój projekt? Wspomniał o sprzężeniu i modułowości itp., …
Właśnie projektuję moją aplikację i nie jestem pewien, czy poprawnie rozumiem SOLID i OOP. Klasy powinny robić jedną rzecz i robić to dobrze, ale z drugiej strony powinny reprezentować rzeczywiste obiekty, z którymi pracujemy. W moim przypadku przeprowadzam ekstrakcję funkcji w zbiorze danych, a następnie analizuję uczenie maszynowe. Zakładam, że …
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 prostu istnieje, ponieważ w przyszłości będziemy musieli go użyć. Próbujemy …
To pytanie jest nieco niezależne od języka, ale nie do końca, ponieważ programowanie obiektowe (OOP) różni się na przykład w Javie , która nie ma funkcji pierwszej klasy, niż w Pythonie . Innymi słowy, czuję się mniej winny z powodu tworzenia niepotrzebnych klas w języku takim jak Java, ale wydaje …
Jesteśmy w trakcie zmiany sposobu, w jaki nasza aplikacja AS3 komunikuje się z naszym zapleczem, i jesteśmy w trakcie wdrażania systemu REST, aby zastąpić nasz stary. Niestety deweloper, który rozpoczął pracę, jest teraz na długoterminowym zwolnieniu chorobowym i został mi przekazany. Pracowałem z tym przez mniej więcej tydzień i rozumiem …
Powiedział Jame Gosling „W miarę możliwości należy unikać dziedziczenia implementacji.” i zamiast tego użyj dziedziczenia interfejsu. Ale dlaczego? Jak możemy uniknąć dziedziczenia struktury obiektu za pomocą słowa kluczowego „extends”, a jednocześnie uczynić nasz kod obiektowym zorientowanym? Czy ktoś mógłby podać obiektowy przykład ilustrujący tę koncepcję w scenariuszu „zamawianie książki w …
Znalazłem drzewo dziedziczenia w naszej (raczej dużej) bazie kodu, które wygląda mniej więcej tak: public class NamedEntity { public int Id { get; set; } public string Name { get; set; } } public class OrderDateInfo : NamedEntity { } Z tego, co mogłem zebrać, jest to przede wszystkim używane …
Według Czy niewłaściwe jest używanie parametru boolowskiego do określania zachowania? , Wiem, jak ważne jest unikanie używania parametrów boolowskich do określania zachowania, np .: orginalna wersja public void setState(boolean flag){ if(flag){ a(); }else{ b(); } c(); } Nowa wersja: public void setStateTrue(){ a(); c(); } public void setStateFalse(){ b(); c(); …
Czy istnieje jakiś wzorzec projektowy dla dowolnego programu obiektowego? Pytam o to, ponieważ ostatnio widziałem implementację Doorklasy z Lock. Było to częścią testu, a odpowiedź brzmiała, że kod jest zgodny ze wzorcem Null Object: class Lock { public: virtual void close() = 0; virtual void open() = 0; virtual bool …
Kiedy koncepcje programowania obiektowego zostały wprowadzone do programistów wiele lat temu, wygląda to interesująco, a programowanie jest czystsze. OOP był taki Stock stock = new Stock(); stock.addItem(item); stock.removeItem(item); Łatwiej było to zrozumieć dzięki samoopisowej nazwie. Ale teraz OOP, ze wzorcem takim jak obiekty transferu danych, obiekty wartości, repozytorium, wstrzykiwanie zależności …
Pracuję z następującym systemem: Network Data Feed -> Third Party Nio Library -> My Objects via adapter pattern Niedawno mieliśmy problem polegający na tym, że zaktualizowałem używaną przeze mnie bibliotekę, co spowodowało między innymi zmianę znaczników czasu (zwracanych przez bibliotekę zewnętrzną long) z milisekund po epoce na nanosekundy po epoce. …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.