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

6
Czy można zaimplementować programowanie „obiektowe” bez słowa kluczowego class?
Powiedzmy, że chcemy przedstawić abstrakcję „konta” w banku. Oto jedno podejście, używając functionobiektu w Pythonie: def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def withdraw(amount): if amount > dispatch['balance']: return …

9
Dlaczego większość „dobrze znanych” języków imperatywnych / OO umożliwia niekontrolowany dostęp do typów, które mogą reprezentować wartość „nic”?
Czytałem o (nie) wygodzie posiadania nullzamiast (na przykład) Maybe. Po przeczytaniu tego artykułu , jestem przekonany, że byłoby znacznie lepiej do użytkuMaybe (lub coś podobnego). Jestem jednak zaskoczony, widząc, że wszystkie „dobrze znane” imperatywne lub obiektowe języki programowania nadal używają null(co pozwala na niekontrolowany dostęp do typów, które mogą reprezentować …



12
Jak duży jest ok dla klasy?
Jestem programistą od dawna (mam 49 lat), ale raczej nowością w programowaniu obiektowym. Czytałem o OO od czasu Eiffla Bertranda Meyera, ale zrobiłem naprawdę niewiele programowania OO. Chodzi o to, że każda książka na temat projektowania OO zaczyna się od przykładu łodzi, samochodu lub innego wspólnego obiektu, którego często używamy, …



6
Jakie są zastrzeżenia związane z wdrażaniem podstawowych typów (takich jak int) jako klas?
Przy projektowaniu i wykonawczym języka programowania obiektowego, w jakimś jednym punkcie musi dokonać wyboru o realizacji podstawowych typów (jak int, float, doublelub odpowiedników) jako klasy lub czegoś innego. Wyraźnie, języków z rodziny C mają tendencję nie je zdefiniować jako klasy (Java ma specjalnych typów prymitywnych, C # wdraża je jako …

7
Czy programowanie funkcjonalne ignoruje korzyści płynące z „O kryteriach, które należy zastosować przy rozkładaniu systemów na moduły” (ukrywanie danych)?
Jest klasyczny artykuł zatytułowany „Kryteria do zastosowania w rozkładaniu systemów na moduły”, który właśnie przeczytałem po raz pierwszy. Ma to dla mnie idealny sens i jest prawdopodobnie jednym z tych artykułów, na których oparto OOP. Wniosek: Na podstawie tych przykładów próbowaliśmy wykazać, że prawie zawsze niewłaściwe jest rozpoczęcie rozkładu systemu …


12
SOLID vs. Unikanie przedwczesnej abstrakcji
Rozumiem, co SOLID ma osiągnąć i używać go regularnie w sytuacjach, w których modułowość jest ważna, a jej cele są wyraźnie przydatne. Jednak dwie rzeczy uniemożliwiają mi konsekwentne stosowanie go w mojej bazie kodu: Chcę uniknąć przedwczesnej abstrakcji. Z mojego doświadczenia wynika, że ​​rysowanie linii abstrakcji bez konkretnych przypadków użycia …

14
Jak duże bazy kodu inne niż OO są zarządzane?
Zawsze widzę, że abstrakcja jest bardzo przydatną funkcją OO do zarządzania bazą kodu. Ale w jaki sposób zarządzane są duże bazy kodu inne niż OO? A może ostatecznie stają się „ Wielką Kulą Błota ”? Aktualizacja: Wydawało się, że wszyscy myślą, że „abstrakcja” to po prostu modularyzacja lub ukrywanie danych. …

8
Czy istnieją warianty OOP, w których niektóre lub wszystkie zasady SOLID są przeciwne do czyszczenia kodu?
Niedawno miałem rozmowę z moim przyjacielem na temat OOP w tworzeniu gier wideo. Wyjaśniałem architekturę jednej z moich gier, która, ku zaskoczeniu mojego przyjaciela, zawierała wiele małych klas i kilka warstw abstrakcji. Argumentowałem, że był to wynik mojego skupienia się na nadaniu wszystkim Jednej Odpowiedzialności, a także na poluzowaniu sprzężenia …

6
Czy programowanie funkcjonalne jest nadzbiorem obiektowym?
Im bardziej funkcjonalne programowanie, tym bardziej czuję, że dodaje dodatkową warstwę abstrakcji, która wydaje się, że warstwa cebuli obejmuje wszystkie poprzednie warstwy. Nie wiem, czy to prawda, więc odejście od zasad OOP, nad którymi pracowałem od lat, może ktoś wytłumaczyć, jak funkcjonalne dokładnie przedstawia lub nie przedstawia żadnej z nich: …

5
Jak przefakturować program OO na funkcjonalny?
Mam trudności ze znalezieniem zasobów na temat pisania programów w funkcjonalnym stylu. Najbardziej zaawansowanym tematem, jaki mogłem znaleźć w Internecie, było użycie pisania strukturalnego w celu ograniczenia hierarchii klas; większość po prostu zajmuje się tym, jak używać map / fold / zmniejsz / etc, aby zastąpić imperatywne pętle. Naprawdę chciałbym …

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.