Masz klasę, która opcjonalnie powinna coś śledzić. Piszesz if (tracker is not null) w dziesięciu miejscach. Wzorzec Pusty obiekt kończy z tym na zawsze. Zamiast sprawdzać null przekazujesz obiekt, który implementuje interfejs, ale nic nie robi.
Discover
Renderer HTML i licznik słów różnią się zachowaniem, ale obie operacje przechodzą przez ten sam dokument. Wizytator przenosi logikę poza hierarchię klas — element wie tylko, że należy go odwiedzić; co zrobi wizytator, to już nie jego sprawa.
Discover
Przewidywanie przyszłości na podstawie przeszłości - brzmi jak magia? To matematyka. ForecastBySsa w ML.NET pozwala prognozować wartości szeregów czasowych wykorzystując dekompozycję SSA. Ile produktów zamówić na następny miesiąc? Jakie będzie obciążenie serwera w przyszłym tygodniu? Bez external API, bez Pythona - czysty C# i ML.NET.
Zagłębimy się w wzorzec Budowniczy, kluczowy dla tworzenia złożonych obiektów. Na przykładzie RibbonControl pokażemy, jak wzorzec ten ułatwia organizację kodu i zwiększa jego elastyczność. Omówimy, w jaki sposób może przyczynić się do czystszego i bardziej modułowego projektowania aplikacji.
Discover
Detekcja anomalii w ML.NET wymaga kluczowej decyzji: IID czy SSA? Jeśli dane mają sezonowość - musisz użyć SSA. Problem w tym, że często nie wiesz czy sezonowość występuje i jaki jest jej okres. DetectSeasonality rozwiązuje ten problem automatycznie - analizuje szereg czasowy i wykrywa cykliczne wzorce bez zgadywania.
Generator numerów zamówień musi być jeden. Dwa egzemplarze oznaczają dwa niezależne liczniki — i dwa zamówienia z tym samym numerem. Singleton gwarantuje, że klasa ma dokładnie jedną instancję i udostępnia do niej globalny punkt dostępu.
Discover
Wysyłka e-maila i SMS-a przebiega tak samo: sformatuj wiadomość, dostarcz, odnotuj wynik. Różnią się wyłącznie "szczegółami". Metoda szablonowa definiuje szkielet w klasie bazowej, podklasy uzupełniają tylko te kroki, które rzeczywiście się różnią.
Discover
Wzorce strukturalne odpowiadają na pytanie: jak łączyć klasy i obiekty w większe całości, nie tracąc przy tym kontroli nad kodem? Nie chodzi o algorytmy ani przepływ danych — chodzi o to, żeby struktura aplikacji była czytelna, elastyczna i łatwa w utrzymaniu.
Discover
Wykrywanie nietypowych wzorców w danych biznesowych: nagłe skoki sprzedaży, zmiany trendu, sezonowość. ML.NET oferuje pięć algorytmów od prostych testów statystycznych (IID Spike) przez dekompozycję szeregów (SSA) aż po głębokie sieci neuronowe (SR-CNN). Bez Pythona, bez chmury - wszystko w czystym C#.
Discover
Masz obiekt, który działa. Chcesz go trochę po cichu "rozbudować"? Pełnomocnik staje przed prawdziwym obiektem i robi co trzeba — ten sam interfejs, rozszerzone zachowanie, bez zmian w oryginalnym kodzie.
Discover