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


4
Najczystszy sposób na pisanie logicznie proceduralnych programów w języku OO
Jestem inżynierem elektrykiem i nie wiem, co do diabła robię. Proszę zapisać przyszłych opiekunów mojego kodu. Ostatnio pracowałem nad kilkoma mniejszymi programami (w języku C #), których funkcjonalność jest logicznie „proceduralna”. Na przykład jednym z nich jest program, który zbiera informacje z różnych baz danych, wykorzystuje te informacje do generowania …


7
W językach obiektowych, kiedy obiekty powinny wykonywać operacje na sobie, a kiedy operacje na obiektach?
Załóżmy, że istnieje Pageklasa, która reprezentuje zestaw instrukcji dla mechanizmu renderującego strony. Załóżmy, że istnieje Rendererklasa, która wie, jak renderować stronę na ekranie. Istnieje możliwość strukturyzacji kodu na dwa różne sposoby: /* * 1) Page Uses Renderer internally, * or receives it explicitly */ $page->renderMe(); $page->renderMe($renderer); /* * 2) Page …

2
Czy naprawdę możemy zastosować niezmienność w OOP bez utraty wszystkich kluczowych funkcji OOP?
Widzę korzyści płynące z uczynienia obiektów w moim programie niezmiennymi. Kiedy naprawdę głęboko zastanawiam się nad dobrym projektem mojej aplikacji, często naturalnie dochodzę do tego, że wiele moich obiektów jest niezmiennych. Często dochodzi do tego, że chciałbym, aby wszystkie moje obiekty były niezmienne. To pytanie dotyczy tego samego pomysłu, ale …



7
Implementacja stanu obiektu w języku OO?
Dostałem trochę kodu Java do obejrzenia, który symuluje wyścig samochodowy, w tym implementację podstawowej maszyny stanu. To nie jest klasyczna machina stanów komputerowych, lecz jedynie obiekt, który może mieć wiele stanów i może przełączać się między tymi stanami na podstawie serii obliczeń. Aby opisać tylko problem, mam klasę samochodów z …

3
Jak należy zaprojektować klasę „Pracownik”?
Próbuję stworzyć program do zarządzania pracownikami. Nie mogę jednak wymyślić, jak zaprojektować Employeeklasę. Moim celem jest możliwość tworzenia i manipulowania danymi pracowników w bazie danych za pomocą Employeeobiektu. Podstawowa implementacja, o której myślałem, była prosta: class Employee { // Employee data (let's say, dozens of properties). Employee() {} Create() {} …

5
Najlepsza strategia raportowania postępu do interfejsu użytkownika - jak powinno nastąpić oddzwanianie?
Czasami użytkownik rozpoczyna rozszerzoną operację techniczną, której wykonanie zajmuje trochę czasu. W takich przypadkach zazwyczaj miło jest wyświetlić pasek postępu wraz z informacją o tym, które zadanie jest aktualnie wykonywane. Aby uniknąć ścisłego powiązania interfejsu użytkownika i warstw logicznych, zwykle najlepiej jest, aby komunikacja odbywała się za pośrednictwem pewnego rodzaju …

2
Zasada DRY w dobrych praktykach?
Staram się przestrzegać zasady DRY w moim programowaniu tak mocno, jak potrafię. Ostatnio uczyłem się wzorców projektowych w OOP i skończyło się na tym, że powtarzałem sobie całkiem sporo. Utworzyłem wzorzec repozytorium wraz ze wzorami Factory i Gateway, aby obsłużyć moją trwałość. Korzystam z bazy danych w mojej aplikacji, ale …

2
Klasy Python z tylko jedną instancją: Kiedy utworzyć (pojedynczą) instancję klasy, a kiedy zamiast tego pracować z klasą?
Biorąc pod uwagę klasę Python, która zostanie utworzona tylko raz, tzn. Będzie tylko jeden obiekt klasy. Zastanawiałem się, w jakich przypadkach sensowne jest utworzenie instancji pojedynczej klasy zamiast pracy bezpośrednio z klasą. Jest podobne pytanie , ale koncentruje się na innym: chodzi o grupowanie zmiennych globalnych i funkcji w klasę …

5
Czy w tym scenariuszu powinienem preferować kompozycję lub dziedziczenie?
Rozważ interfejs: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Interfejs ten jest implementowany przez wiele klas, które generują fale o różnych kształtach (na przykład SineWaveGeneratori SquareWaveGenerator). Chcę zaimplementować klasę, która generuje SoundWavedane muzyczne, a nie surowe dane dźwiękowe. Otrzyma nazwę nuty i długość wyrażoną w uderzeniach (nie sekundach) …

4
Co oznacza „OOP ukrywa państwo”? [Zamknięte]
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 5 lat temu . W jednym z wielu anty-OOP na cat-v.org znalazłem fragment Joe Armstronga, który podniósł …

5
Czy zawsze powinienem całkowicie zawierać wewnętrzną strukturę danych?
Proszę rozważyć tę klasę: class ClassA{ private Thing[] things; // stores data // stuff omitted public Thing[] getThings(){ return things; } } Ta klasa udostępnia tablicę, której używa do przechowywania danych, każdemu zainteresowanemu kodowi klienta. Zrobiłem to w aplikacji, nad którą pracuję. Miałem ChordProgressionklasę, która przechowuje sekwencję Chords (i robi …

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.