Csharp · Wzorce ProjektoweSingleton Singleton jest kreacyjnym wzorcem projektowym, który zapewnia, że klasa ma tylko jedną instancję i zapewnia globalny punkt dostępu do tej instancji. Cel Intencją wzorca singleton…
Czytaj więcej →
Csharp · Wzorce ProjektowePrototyp (Prototype) Prototyp jest kreacyjnym wzorcem projektowym, który umożliwia kopiowanie już istniejących obiektów. To dość prosty wzorzec. Pozostałe wzorce kreacyjne to Builder, Singleton oraz Factory Method…
Czytaj więcej →
Csharp · Wzorce ProjektoweBudowniczy (Builder) Builder jest kreacyjnym wzorcem projektowym. Wśród innych wzorców kreacyjnych warto poznać Factory Method oraz Prototype, a całościowe spojrzenie daje przewodnik po wzorcach projektowych. Cel…
Czytaj więcej →
Csharp · Wzorce ProjektoweFabryka Abstrakcyjna bardziej praktyczny przykład Intencją wzorca fabryki abstrakcyjnej jest zapewnienie interfejsu do tworzenia rodzin powiązanych lub zależnych obiektów bez określania ich konkretnych klas. Teorię tego…
Czytaj więcej →
Csharp · Wzorce ProjektoweFabryka abstrakcyjna (Abstract Factory) Główna różnica między metodą fabryczną a fabryką abstrakcyjną polega na tym, że metoda fabryczna to pojedyncza metoda, a fabryka abstrakcyjna to obiekt.…
Czytaj więcej →
Csharp · Wzorce ProjektoweMetoda Wytwórcza bardziej praktyczny przykład Jak już wiemy intencją wzorca, jest zdefiniowanie interfejsu do tworzenia obiektów, ale to podklasy decydują, którą klasę utworzyć. Innymi słowy, metoda…
Czytaj więcej →
Csharp · Wzorce ProjektoweMetoda wytwórcza (Factory Method) Metoda wytwórcza jest kreacyjnym wzorcem projektowym.Znanna też jako: Konstruktor wirtualny, Virtual constructor Cel Metoda wytwórcza to wzorzec projektowy, którego celem jest dostarczenie…
Czytaj więcej →
Csharp · Wzorce ProjektoweProblem, który realnie rozwiązuje Adapter Wyobraź sobie typowy scenariusz w projekcie komercyjnym: musisz zintegrować system z bramką płatniczą dostarczoną przez zewnętrznego vendora. Dostajesz paczkę NuGet `LegacyPayments.Sdk`,…
Czytaj więcej →
Csharp · Wzorce ProjektoweKąt widzenia: klasyczny GoF — jeden kontekst, wiele wymienialnych algorytmów, wybór na podstawie danych użytkownikaPrzykład przewodni: sortowanie i filtrowanie katalogu produktów w ASP.NET Core Problem, który…
Czytaj więcej →
Csharp · Wzorce ProjektoweKąt widzenia: edukacyjny/referencyjny – jak anatomicznie rozumieć wzorzec projektowyPrzykład przewodni: wzorzec Strategy rozkładany na części pierwsze zgodnie z opisem GoF Problem, który wzorce rozwiązują Wyobraź sobie,…
Czytaj więcej →
Csharp · Wzorce ProjektoweKąt widzenia: pragmatyczny/decyzyjny — wzorzec jako narzędzie, nie celPrzykład przewodni: system powiadomień w trzech wersjach: bez wzorca, z nadużyciem wzorców, poprawnie Wzorzec to narzędzie, nie cel…
Czytaj więcej →
Csharp · SOLIDDependency Inversion Principle – DIP Zasada odwracania zależności (Dependency Inversion Principle – DIP), jest krytyczna dla tworzenie luźno powiązanego, łatwego w utrzymaniu oprogramowania. Zasada ta to…
Czytaj więcej →
Csharp · SOLIDInterface Segregation Principle – ISP Teraz omówimy zasadę segregacji interfejsów (Interface Segregation Principle – ISP) jest to czwarta zasada SOLID, która opisuje, jak powinniśmy projektować i…
Czytaj więcej →