Design Patterns (Wzorce Projektowe) - Abstract Factory (Fabryka abstrakcyjna)

  Рет қаралды 1,463

Mariusz Jurczenko

Mariusz Jurczenko

2 жыл бұрын

Fabryka abstrakcyjna (Abstract Factory)
Fabryka abstrakcyjna jest kreacyjnym wzorcem projektowym, który udostępnia interfejs do tworzenia rodzin powiązanych lub zależnych obiektów bez określania ich konkretnych klas.
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. Metoda fabryczna jest tylko metodą, można ją przesłonić w podklasie, podczas gdy fabryka abstrakcyjna to obiekt, który ma wiele metod fabrycznych.
Link do posta:
dev-hobby.pl/csharp/fabryka-a...
Kod źródłowy:
github.com/mariuszjurczenko/D...
FREE E-BOOK 💥
mariuszjurczenko.pl/panel/czy...
#AbstractFactory, #DesignPatterns, #CreationalPattern, #PlatformIndependent, #ObjectCreation, #SoftwareEngineering, #ObjectOrientedProgramming, #Abstraction, #CodeDesign, #GameDevelopment, #CrossPlatform, #Programming, #FactoryPattern, #ObjectFamilies, #DependencyInversion, #DesignPrinciples, #FlexibleCreation, #DesignPatternsInPractice, #SoftwareArchitecture, #ComponentCreation, #ObjectComposition, #ObjectInteraction, #ApplicationDesign, #SoftwareDesignPatterns,

Пікірлер: 4
@G-way-idea-for-the-weekend
@G-way-idea-for-the-weekend 2 ай бұрын
fabryka abstrakcyjna to jest too
@pawelwaw
@pawelwaw 8 ай бұрын
Co gdyby się okazało że skoda np. nie będzie produkować vana. A tylko Audio. Jak powinien wtedy rozszerzyć kod?
@Damianox445
@Damianox445 8 ай бұрын
Myślę że wtedy w abstrakcyjnej fabryce nie byłby aż 4 metod, skoro jedna z marek nie tworzyłaby któregoś z typów
@mariuszjurczenko
@mariuszjurczenko 7 ай бұрын
Jeśli mówisz o sytuacji, w której jedna z marek (np. Skoda) nie produkuje pewnego rodzaju produktu (np. vana), a druga (np. Audi) produkuje, wymagałoby to odpowiedniej adaptacji w strukturze fabryki abstrakcyjnej. Kluczowym aspektem jest tutaj elastyczność i skalowalność wzorca. 1) Modyfikacja Interfejsu Fabryki: Jeśli konkretne realizacje fabryki abstrakcyjnej nie są w stanie zapewnić implementacji dla wszystkich metod zdefiniowanych w interfejsie, można zastosować kilka podejść: Opcjonalne Metody: Zamiast wymagać implementacji wszystkich metod w fabryce, możemy uczynić niektóre z nich opcjonalnymi. W przypadku braku możliwości stworzenia określonego produktu, metoda mogłaby zwracać wartość wskazującą na tę niemożność (np. null lub specjalny obiekt błędu). Różne Interfejsy dla Różnych Marek: Innym podejściem jest stworzenie różnych interfejsów fabryk dla różnych marek. Na przykład, fabryka dla Audi mogłaby mieć inne metody niż fabryka dla Skody, odzwierciedlając różne gamy produktów. 2) Implementacja w Konkretnych Fabrykach: W konkretnej implementacji fabryki dla Skody, metoda odpowiedzialna za tworzenie vana mogłaby być zaimplementowana tak, aby sygnalizować, że dany produkt nie jest dostępny. W ten sposób, struktura wzorca pozostaje spójna, ale konkretne realizacje mogą różnić się w zależności od możliwości produkcyjnych danej marki. 3) Zachowanie Spójności Wzorca: Ważne jest, aby mimo tych zmian zachować spójność i główne założenia wzorca fabryki abstrakcyjnej. Oznacza to, że nawet jeśli niektóre metody nie są realizowane w pewnych konkretnych fabrykach, to ogólna struktura i sposób użycia wzorca powinien pozostać konsekwentny. Podsumowując, adaptacja wzorca fabryki abstrakcyjnej w sytuacji, gdy nie wszystkie produkty są dostępne dla każdej marki, wymaga elastycznego podejścia do projektowania interfejsów i implementacji konkretnych fabryk. Ważne jest, aby zachować klarowność i spójność wzorca, jednocześnie umożliwiając wystarczającą elastyczność, by radzić sobie z różnorodnością scenariuszy produkcyjnych.
Design Patterns (Wzorce Projektowe) - Builder (Budowniczy)
19:57
Mariusz Jurczenko
Рет қаралды 1 М.
Beautiful gymnastics 😍☺️
00:15
Lexa_Merin
Рет қаралды 15 МЛН
Зачем он туда залез?
00:25
Vlad Samokatchik
Рет қаралды 3,3 МЛН
Llegó al techo 😱
00:37
Juan De Dios Pantoja
Рет қаралды 52 МЛН
Who has won ?? 😀 #shortvideo #lizzyisaeva
00:24
Lizzy Isaeva
Рет қаралды 65 МЛН
Design patterns - Strategy, Observer and Factory
29:24
Przeprogramowani
Рет қаралды 21 М.
Factory Method Pattern - Design Patterns (ep 4)
27:21
Christopher Okhravi
Рет қаралды 540 М.
Z TYCH 3 POWODÓW ODRZUCAMY KANDYDATÓW DO PRACY
11:44
Marek Zając
Рет қаралды 25 М.
Design Patterns (Wzorce Projektowe) - Fasada (Facade)
9:40
Mariusz Jurczenko
Рет қаралды 420
5 Design Patterns That Are ACTUALLY Used By Developers
9:27
Alex Hyett
Рет қаралды 227 М.
Зарядка-брелок для Apple Watch
0:39
Rozetked
Рет қаралды 263 М.
Опасность фирменной зарядки Apple
0:57
SuperCrastan
Рет қаралды 7 МЛН
Как правильно выключать звук на телефоне?
0:17
Люди.Идеи, общественная организация
Рет қаралды 1,9 МЛН
iPhone 16 с инновационным аккумулятором
0:45
ÉЖИ АКСЁНОВ
Рет қаралды 9 МЛН