Pytania otagowane jako object-oriented-design

Projektowanie obiektowe to proces planowania systemu interakcji obiektów w celu rozwiązania problemu z oprogramowaniem.


7
Dlaczego setery łańcuchowe są niekonwencjonalne?
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 …



10
W jaki sposób testy jednostkowe ułatwiają projektowanie?
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., …


9
Programowanie do przyszłego wykorzystania interfejsów
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 …



6
Dlaczego warto unikać dziedziczenia Java „Rozszerza”
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 …


13
Czy niewłaściwe jest używanie parametru boolowskiego do określania wartości?
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(); …

9
Czy pisząc kod zorientowany obiektowo, powinienem zawsze kierować się wzorcem projektowym?
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 …

8
Czy OOP staje się łatwiejsze czy trudniejsze? [Zamknięte]
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 …

6
Jak przetestować system, w którym trudno wyśmiewać obiekty?
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. …

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.