Liskov Substitution Principle – LSP

Teraz porozmawiamy o zasadzie podstawiania Liskov. Zasada podstawiania Liskov lub LSP, to trzecia z zasad SOLID która mówi, że:
Funkcje, które używają wskaźników lub referencji do klas bazowych,
muszą być w stanie używać również obiektów klas dziedziczących
po klasach bazowych, bez dokładnej znajomości tych obiektów.

Open/Closed Principle – zastosowanie OCP

Wyobraźmy sobie teraz hipotetycznie, że przychodzi nasz klient dla którego robimy aplikację i pojawia się nowy wymóg, który zmienia sposób działania naszej aplikacji w niektórych przypadkach. I to jest częsta, bardzo życiowa sytuacja która zdarza się nieustannie. I tak się składa, że firma postanowiła dodać nowy typ mycia Premium i potrzebujemy mechanizmu do obsługi tego nowego typu mycia.

Open/Closed Principle – OCP

Zasada otwarte/zamknięte lub OCP to jest druga z zasad SOLID, która mówi nam, że jednostki oprogramowania, takie jak moduły, klasy, funkcje i tak dalej, powinny być otwarte na rozszerzanie, ale zamknięte na modyfikacje.
Czyli powinna istnieć możliwość zmiany zachowania metody
bez konieczności edytowania jej kodu źródłowego.

Single Responsibility Principle – zastosowanie SRP

Ile obowiązków znaleźliście w CarWash?
Przedstawie teraz wszystkie które mogliście zauważyć.
1) Wszędzie tam, gdzie to robimy, Console.WriteLines(„coś”);
– jest przykładem tego, jak chcemy logować wszystko to co zachodzi w naszej aplikacji.

Single Responsibility Principle – SRP – aplikacja

Dobrze tak jak już powiedziałem wystarczy już tych rozważań teoretycznych tego nudzenia i przejdźmy do praktycznego zastosowanie a wszystko stanie się jasne i proste, a najlepszy jest praktyczny, życiowy przykład !!!

C# – Events

Kolejnym typem, który możemy mieć w klasie są zdarzenia. Wielokrotnie w rozwoju oprogramowania potrzebujemy interakcji aby śledzić komponenty, które wykonują jakieś interesujące rzeczy w nieprzewidywalnym czasie. Na przykład przycisk na ekranie jest elementem, który chcemy śledzić, i chcemy wiedzieć, kiedy użytkownik klika ten przycisk.

Single Responsibility Principle – SRP

Oznacza to, że nasze klasy czy metody powinny posiadać tylko jedną odpowiedzialność. Nie powinien istnieć więcej niż jeden powód abyśmy chcieli zmodyfikować naszą klasę. Nie możemy tworzyć fabryki, która produkuje wszystko statki, rowery, samochody i jednocześnie szyje spodnie. Każda klasa powinna być odpowiedzialna za jedną rzecz.

Jak Zastosować 5 Zasad SOLID ?

Postaram się wam teraz przedstawić ogólne zasady, jakie powinny być stosowane aby pisać dobry kod. Zapewne wszyscy chcielibyśmy aby nasze aplikacje jak i ich architektura była jak najwyższej jakości.

Lista part.7 – wydajność.

Chcę teraz zakończyć ostrzeżeniem o wydajności. Widzisz, tylko dlatego, że możesz łatwo wstawiać i usuwać elementy niekoniecznie oznacza, że powinieneś. Pomyśl o akcji polegającej na dodawaniu elementów na końcu listy.

Lista part.6 – wstawianie, wyszukiwanie …

Prawie każda kolekcja ma właściwość, która powie Ci, ile elementów jest w kolekcji, ale dla prawie wszystkich kolekcji ta właściwość nazywa się Count. Natomiast Tablica jest dość dziwnym wyjątkiem, tablica różni się od wszystkich innych kolekcji gdyż ta właściwość nazywa się Length.

C# – Delegate

Wyobraź sobie, że chcesz zadeklarować zmienną, która odwołuje się do metody, a więc nie jest zmienną do trzymania liczby całkowitej, lub ciągu znaków lub dowolnego obiektu jakiejś klasy.

Lista part.5 – Import danych z pliku.

Teraz nadszedł czas na demo. Kiedy omawialiśmy tablice stworzyłem demo,
które wyświetlało 7 pierwszych miast zaimportowanych z pliku CSV.
Teraz zamierzam zmodyfikować to demo, aby zamiast importować tylko 7 miast, importować i wyświetlać wszystkie miasta. Mamy nasz CsvReader.