02 : DevLog

poniedziałek, 19 listopada 2018

Metody inline

Skrócona forma delegatów, czyli metoda inline nazywana funkcją anonimową, to nie tylko zwięzły zapis, ale i kontekst dostarczany przez kompilator. Umożliwiają one szybsze i bardziej intuicyjne tworzenie kodu, pozwalając programiście na bezpośrednie umieszczanie logiki tam, gdzie jest potrzebna, bez konieczności definiowania osobnych metod.

Discover

piątek, 26 października 2018

SOLID — zasada pojedynczej odpowiedzialności

Klasa powinna mieć tylko jeden powód do zmiany. Brzmi banalnie, ale wystarczy jeden dziennik, który sam siebie zapisuje do pliku, żeby zobaczyć, dlaczego to ważne.

Discover

środa, 10 października 2018

Delegaty

Referencja do metody, czyli Delegate, w praktyce pozwala na dynamiczne przypisywanie i wywoływanie metod. Aby stworzyć delegata, definiujesz typ delegata odpowiadający sygnaturze metody, a następnie przypisujesz do niego metodę. Wywołanie delegata jest równoznaczne z wywołaniem metody, do której się odnosi.

Discover

niedziela, 26 sierpnia 2018

Dynamic

Podstawą języka C# jest statyczne określanie typów, jednak w pewnych sytuacjach, dzięki typowi dynamic, język pozwala na bardziej dynamiczne wykorzystanie, co posiada specjalne przywileje u CLR, umożliwiając wykonanie operacji niedostępnych dla innych typów w trakcie kompilacji.

Discover

czwartek, 19 kwietnia 2018

Zasady SOLID — wprowadzenie

SOLID to pięć zasad projektowania obiektowego, które pojawiły się na początku lat 2000. To nie przepisa na idealny kod — są drogowskazami, które pomagają pisać oprogramowanie łatwiejsze w utrzymaniu.

Discover

środa, 24 stycznia 2018

Kowariancja i kontrawariancja

Kowariancja i kontrawariancja w C# to mechanizmy kontrolujące, jak typy generyczne mogą być konwertowane. Dowiedz się, dlaczego IEnumerable<Rectangle> można przekazać jako IEnumerable<Square>, ale ICollection<Rectangle> już nie. Poznaj słowa kluczowe out i in, które decydują o bezpieczeństwie konwersji typów.

Discover

środa, 10 stycznia 2018

Klasy częściowe

Krótka notatka dotycząca klas częściowych, zawierająca informacje jak korzystać z partial oraz gdzie są wykorzystywane, podkreślając, że umożliwiają one rozdzielenie definicji klasy na kilka plików, co jest szczególnie przydatne w narzędziach generujących kod, takich jak Visual Studio przy tworzeniu interfejsów użytkownika w WinForms.

Discover

wtorek, 12 grudnia 2017

Tworzenie obiektów

Cały czas w tematyce obiektowości. Notatka opisuje mechanizm inicjalizacji obiektów z wykorzystaniem konstruktorów wraz z zastosowaniem base oraz this, podkreślając, że konstruktory nie są dziedziczone, ale mogą być wywoływane w klasach pochodnych, co pozwala na właściwe zainicjowanie obiektów w hierarchii dziedziczenia.

Discover

środa, 11 października 2017

Metody wirtualne, abstrakcyjne oraz ostateczne

Kontynuacją notatek dotyczących dziedziczenia są metody wirtualne oraz abstrakcyjne, czyli takie, których implementacja może zostać nadpisana przez klasy pochodne, umożliwiając elastyczne dostosowanie zachowania obiektów w hierarchii klas.

Discover

piątek, 30 czerwca 2017

Dziedziczenie

Dziedziczenie, czyli wielokrotne stosowanie raz napisanego kodu jest popularnym mechanizmem stosowanym w wielu językach programowania obiektowego, również C#. To podejście pozwala na efektywne zarządzanie i rozwijanie kodu, zwiększając jego ponowną re-użyteczność.

Discover