Expression tree i inne zaawansowane zagadnienia - materiały do nauki

0

Cześć, od jakiegoś czasu próbuję zrozumieć, i się nauczyć, wyrażeń drzewiastych i wstrzykiwania zależności. Natrafiłem na razie na takie materiały do nauki:
link
link
Jednakże potrzebowałbym trochę więcej informacji/ćwiczeń/nauki. Może być w postaci jakiegoś podręcznika czy kursu na udemy. Poleca ktoś jakieś tego typu materiały do zapoznania się i zrozumienia zaawansowanych zagadnień programowania? Bo podręczniki na Helionie czy kursy na udemy w większości przypadku obejmują podstawy. A zaawansowanym dla nich są interfejsy czy polimorfizm.

0

Najlepiej to chyba zacząć od tego: https://learn.microsoft.com/en-us/dotnet/csharp/expression-trees

A żeby nie próbować uczyć się tego tylko teoretycznie to równolegle polecam od razu stosować tę wiedzę w praktyce. Kiedyś implementowałem silnik do filtrowania danych który zbudowałem właśnie na ET i polecam to jako koncept treningowy.

Osobiście nie znam żadnych kursów poświęconych ET ale też ich nigdy nie szukałem bo w zakresie jaki był mi potrzebny dokumentacja była aż nad wyraz pomocna

edit: co do wstrzykiwania zależności to nie ma tam wielkiej filozofii jeśli chodzi o praktyczne zastosowanie, nie potrzeba do tego nawet żadnego kontenera który zarządza cyklem życia tego co wstrzykujesz. Tu ponownie dokumentacja jest bardzo dobra, polecam Microsoft learn bo to naprawdę skarbnica wiedzy, niedoceniania przez wiele osób

3

Napisz sobie prosty expression evaluator który dostając stringa np.

var test = "2 + 3 - 9" wyliczy że jest to -4

var test = "2 + 2 * 2 " wyliczy że jest to 6

to dobrze pokaże koncept który reprezentują Expression Trees, a mianowicie że zachowanie jest dynamicznie budowane na podstawie danych (input string), a nie że modyfikujesz i rekompilujesz kod.

W tegorocznym Advent of Code podczas dnia 21 było zadanie które jest bardzo podobne i mógłbyś spróbować zrobić https://adventofcode.com/2022/day/21

samo zrobienie part. 1 ci wystarczy, ale możesz całość dla zabawy :)

Tutaj masz tutorial jak gościu z MS robi taki expression evaluator, który następnie przekształca w kompilator

Playlist: https://www.youtube.com/playlist?list=PLRAdsfhKI4OWNOSfS7EUu5GRAVmze1t2y

1

Przerabiałem temat pół roku temu, i mogę stwierdzić że nie ma dobrego kompletnego opracowania tego tematu w internecie i trzeba bazować na wyżej wspomnianych materiałach. Dokumentacja od Microsoftu niestety nie jest kompletna.

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