Implementacja obiektowości

0

Hej,

Implementujecie dynamiczny język programowania w dynamicznym języku I nagle musicie dodać obiektowość. Jaki wybrać model obiektów? Oprzeć to na prototypach? Albo ma protokołach? Ktoś ma jakieś pomysły, materiały, argumenty za albo przeciw?

1

Użyłbym jak najbardziej abstrakcyjnego.
Czyli pewnie Smalltalk (znam tylko z opowieści).

Prototypy? Takie jak w JavaScript? To jest wygodne, ale wg mnie to nie jest czytelne rozwiązanie.
Protokołów w kontekście OOP nie znam, jeśli chodzi o komunikaty jak w Smalltalku to patrz wyżej.

0

Przez prototypy mam na myśli np. Js'a I łańcuch prototypów. Przez protokół coś jak w pythonie, obiekt to zbiór atrybutów, jeśli dostarcza wymagany_atrybut to np. Możesz po nim indeksować jak po tablicy, bo wszystko jest traktowane przez kompilator/interpreter jako ciąg wywołań funkcji.

Spojrzę na smalltalka I jak tam to ogarneli, bo nikt nawet o tym nie pomyślał.

0

Rzuć okiem na wspomniany Smalltalk, ale może warto też na CLOS (Common Lisp Object System).

1

Przeczytaj https://www.amazon.com/Theory-Objects-Monographs-Computer-Science/dp/0387947752 i wybierz coś, co pokryje wszystkie interesujące Ciebie przypadki (TLDR: prototypy z JS pozwalają na wszystko).

0
koszalek-opalek napisał(a):

Rzuć okiem na wspomniany Smalltalk, ale może warto też na CLOS (Common Lisp Object System).

Afish napisał(a):

Przeczytaj https://www.amazon.com/Theory-Objects-Monographs-Computer-Science/dp/0387947752 i wybierz coś, co pokryje wszystkie interesujące Ciebie przypadki (TLDR: prototypy z JS pozwalają na wszystko).

Znalazłm wykłady akademickie autorów książki. Na książkę z ciekawości będę polował. Tłumaczą obiektowość, problemy I strategie implementacji. Ciekawostka - przedstawiają rachunek obiektowy.

W projekcie ostatecznie skorzystaliśmy z miksu prototypów I protokołów.

Dziękuje za linka.

1 użytkowników online, w tym zalogowanych: 0, gości: 1