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


10
Jakie jest właściwe zastosowanie downcastingu?
Downcasting oznacza rzutowanie z klasy podstawowej (lub interfejsu) do podklasy lub klasy liścia. Przykładem downcast może być rzutowanie z System.Objectinnego typu. Downcasting jest niepopularny, może pachnie kodem: doktryna obiektowa preferuje na przykład definiowanie i wywoływanie metod wirtualnych lub abstrakcyjnych zamiast downcastingu. Jakie, jeśli w ogóle, są dobre i właściwe przypadki …

10
Czy nie mogę po prostu użyć wszystkich metod statycznych?
Jaka jest różnica między dwiema metodami UpdateSubject poniżej? Czułem, że stosowanie metod statycznych jest lepsze, jeśli chcesz po prostu operować na jednostkach. W jakich sytuacjach powinienem stosować metody niestatyczne? public class Subject { public int Id {get; set;} public string Name { get; set; } public static bool UpdateSubject(Subject subject) …

11
Wyjaśnij zasadę jednej odpowiedzialności
Zasada Jednej Odpowiedzialności stanowi, że klasa powinna zrobić jedną i tylko jedną rzecz. Niektóre przypadki są dość wyraźne. Inne są jednak trudne, ponieważ to, co wygląda na „jedną rzecz”, gdy jest oglądane na danym poziomie abstrakcji, może być wieloma rzeczami, gdy patrzy się na niższym poziomie. Obawiam się również, że …



14
Czy MVC nie chroni przed OOP?
Główną ideą OOP jest ujednolicenie danych i zachowania w jednym obiekcie - obiekcie. W programowaniu proceduralnym istnieją dane i osobno algorytmy modyfikujące dane. We wzorcu Model-Widok-Kontroler dane i logika / algorytmy są umieszczone w odrębnych jednostkach, odpowiednio model i kontroler. W równoważnym podejściu OOP nie należy umieszczać modelu i kontrolera …

8
Czy ORM jest anty-wzorcem? [Zamknięte]
Przeprowadziłem bardzo stymulującą i interesującą dyskusję z kolegą na temat ORM oraz jego zalet i wad. Moim zdaniem ORM jest użyteczny tylko w najrzadszych przypadkach. Przynajmniej z mojego doświadczenia. Ale nie chcę teraz wymieniać własnych argumentów. Pytam więc, co sądzisz o ORM? Jakie są zalety i wady?

8
Jak udowodnić lub obalić, że „Boskie przedmioty” są błędne?
Podsumowanie problemu: Krótko mówiąc, odziedziczyłem bazę kodu i zespół programistów, których nie wolno mi zastępować, a korzystanie z God Objects to duży problem. Idąc dalej, chcę, abyśmy ponownie zmienili czynniki, ale dostaję odepchnięcie od zespołów, które chcą robić wszystko z Boskimi Przedmiotami „ponieważ jest to łatwiejsze”, a to oznacza, że …

19
Czy OOP spełnia obietnicę ponownego użycia kodu? Jakie są alternatywy dla ponownego wykorzystania kodu?
Być może największą obietnicą użycia paradygmatu obiektowego jest ponowne użycie kodu. Niektórzy spierają się, że udało się to osiągnąć. Dlaczego został (nie) osiągnięty? Czy kod jest ponownie wykorzystywany, ponieważ definiuje go OOP, czy projekty są bardziej produktywne? Lub łatwiejszy w zarządzaniu? Lub łatwiejsze w utrzymaniu? A może z lepszą jakością? …

17
Czy programowanie OO jest tak samo ważne, jak firmy zajmujące się rekrutacją? [Zamknięte]
Właśnie kończę studia magisterskie (z informatyki) i staram się o pracę. Zauważyłem, że wiele firm prosi o zrozumienie orientacji obiektowej. Popularne pytania podczas wywiadu dotyczą dziedziczenia, polimorfizmu, akcesoriów itp. Czy OO jest naprawdę tak ważne? Miałem nawet rozmowę o pracę programistyczną w C, a połowa wywiadu to OO. Czy w …

1
W jaki sposób mixiny lub cechy są lepsze od zwykłego wielokrotnego dziedziczenia?
C ++ ma zwykłe wielokrotne dziedziczenie, wiele projektów językowych zabrania go jako niebezpiecznego. Ale niektóre języki, takie jak Ruby i PHP, używają dziwnej składni, aby robić to samo i nazywać to mixins lub cechami. Słyszałem wiele razy, że miksy / cechy są trudniejsze do nadużywania niż zwykłe wielokrotne dziedziczenie. Co …

9
Czy metody klasy powinny wywoływać własne metody pobierające i ustawiające?
W miejscu pracy widzę wiele klas, które wykonują takie rzeczy: public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } } …


5
Kontenery MKOl naruszają zasady OOP
Jaki jest cel kontenerów MKOl? Połączone powody można uprościć w następujący sposób: Podczas korzystania z zasad programistycznych OOP / SOLID, wstrzykiwanie zależności jest nieporządne. Albo masz punkty wejścia najwyższego poziomu, które zarządzają zależnościami dla wielu poziomów poniżej siebie i przekazują zależności rekurencyjnie przez konstrukcję, albo masz nieco zduplikowany kod we …

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.