Liskov Substitution Principle – zastosowanie LSP

Przyjrzyjmy się teraz, jak możemy zastosować zasadę LSP w naszej aplikacji myjni samochodowej. Użytkownicy naszej aplikacji, zgłosili nam mały błąd który wprowadziliśmy, gdy modyfikowaliśmy nasz kod wprowadzając wzorzec fabryki DetailsPricingFactory do tworzenia różnych instancji typów mycia, teraz musimy to naprawić.

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 !!!

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.

Zrozumienie algorytmu sortowania Quick Sort

Quick Sort to jedno z najszybszych i najczęściej używanych algorytmów sortowania. Jest to algorytm oparty na strategii “dziel i zwyciężaj”. Działa poprzez wybór elementu zwanego “pivotem”, podział kolekcji na elementy mniejsze i większe od pivota, a następnie sortowanie tych dwóch pod kolekcji.

Merge Sort : Efektywny Algorytm Sortowania Oparty na Dziel i Zwyciężaj

Merge Sort to skuteczny algorytm sortowania wykorzystujący strategię dziel i zwyciężaj. Charakteryzuje się stabilnością oraz czasem złożoności O(n log n), co czyni go idealnym do zastosowań w dużych zbiorach danych. Proces algorytmu polega na dzieleniu zbioru na mniejsze podzbiory, które są następnie scalane w posortowaną całość. Merge Sort znajduje zastosowanie w programowaniu, systemach baz danych oraz przetwarzaniu dużych plików, co sprawia, że jest powszechnie stosowany w praktyce. W artykule poznasz zarówno zalety, jak i wady tego algorytmu oraz jego różnorodne zastosowania.

Insertion Sort

Insertion sort is a simple sort algorithm
that works similar to the way playing cards sort.