Pytania otagowane jako object-oriented

Metodologia umożliwiająca modelowanie systemu jako zestawu obiektów, które można kontrolować i manipulować w sposób modułowy


7
Dlaczego tworzenie instancji jest takie, jakie jest?
Nauczyłem się C # przez ostatnie sześć miesięcy i teraz zagłębiam się w Javę. Moje pytanie dotyczy tworzenia instancji (naprawdę w każdym języku), a więcej: zastanawiam się, dlaczego to zrobili w ten sposób. Weź ten przykład Person Bob = new Person(); Czy istnieje przyczyna dwukrotnego określenia obiektu? Czy kiedykolwiek będzie …

4
Po co definiować obiekt Java za pomocą interfejsu (np. Mapa) zamiast implementacji (HashMap)
W większości kodu Java widzę, że ludzie deklarują takie obiekty Java: Map<String, String> hashMap = new HashMap<>(); List<String> list = new ArrayList<>(); zamiast: HashMap<String, String> hashMap = new HashMap<>(); ArrayList<String> list = new ArrayList<>(); Dlaczego preferuje się definiowanie obiektu Java za pomocą interfejsu, a nie implementacji, która będzie faktycznie używana?

5
Kiedy używać interfejsów (testy jednostkowe, IoC?)
Podejrzewam, że popełniłem tutaj błąd ucznia i szukam wyjaśnienia. Wiele klas w moim rozwiązaniu (C #) - śmiem twierdzić, że większość - skończyłem pisać odpowiedni interfejs. Np. Interfejs „ICalculator” i klasa „Calculator”, która go implementuje, nawet jeśli nigdy nie zastąpię tego kalkulatora inną implementacją. Ponadto większość z tych klas znajduje …

6
Czy kaczka wpisuje podzbiór polimorfizmu
Od polimorfizmu na WIkipedii W informatyce polimorfizm to funkcja języka programowania, która umożliwia obsługę wartości różnych typów danych przy użyciu jednolitego interfejsu. Z pisania kaczek na Wikipedii W programowaniu komputerowym z obiektowymi językami programowania typowanie dynamiczne jest stylem dynamicznego pisania, w którym aktualny zestaw metod i właściwości obiektu określa prawidłową …

5
Czy SRP (zasada pojedynczej odpowiedzialności) jest obiektywny?
Rozważ dwóch projektantów interfejsu użytkownika, którzy chcą zaprojektować „atrakcyjne dla użytkownika” projekty. „Przyciąganie użytkownika” to koncepcja, która nie jest obiektywna i dotyczy wyłącznie projektantów. W ten sposób projektant A mógłby na przykład wybrać czerwony kolor, podczas gdy projektant B wybiera niebieski. Projektant A utwórz układ zupełnie inny niż projektant B …


6
Łączenie metod a hermetyzacja
Istnieje klasyczny problem OOP łączenia łańcuchów metod z metodami „pojedynczego punktu dostępu”: main.getA().getB().getC().transmogrify(x, y) vs main.getA().transmogrifyMyC(x, y) Pierwszy wydaje się mieć tę zaletę, że każda klasa odpowiada tylko za mniejszy zestaw operacji i czyni wszystko o wiele bardziej modułowym - dodanie metody do C nie wymaga żadnego wysiłku w A, …

11
Co sprawiło, że programowanie obiektowe zakończyło się sukcesem? [Zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą specjalistyczną, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …



4
Skąd mam wiedzieć, że moje dane mają charakter relacyjny lub obiektowy?
Po prostu przeczytaj te linie Jeśli Twoje dane mają charakter obiektowy, użyj magazynów obiektów („NoSQL”). Będą znacznie szybsze niż relacyjna baza danych. Jeśli Twoje dane mają charakter relacyjny, warto narzucić relacyjną bazę danych. od- http://seldo.com/weblog/2011/06/15/orm_is_an_antipattern Skąd więc mam wiedzieć, czy moje dane mają charakter relacyjny czy obiektowy?

6
Kiedy enum NIE jest zapachem kodu?
Dylemat Czytałem wiele książek o najlepszych praktykach na temat praktyk zorientowanych obiektowo, a prawie każda książka, którą przeczytałem, miała tę część, w której mówiły, że enumy to zapach kodu. Myślę, że przegapili tę część, w której wyjaśniają, kiedy wyliczenia są ważne. Jako taki szukam wytycznych i / lub przypadków użycia, …

5
MVC: Czy kontroler łamie zasadę pojedynczej odpowiedzialności?
Zasada jednolitej odpowiedzialności stwierdza, że ​​„klasa powinna mieć jeden powód zmiany”. We wzorze MVC zadaniem kontrolera jest mediacja między widokiem a modelem. Oferuje interfejs dla widoku do raportowania działań wykonanych przez użytkownika w GUI (np. Zezwalanie na widok do wywołania controller.specificButtonPressed()) i jest w stanie wywoływać odpowiednie metody w modelu …


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.