Fabryka jest wzorcem kreacyjnym, którego celem jest ułatwienie tworzenia obiektów tego samego typu bez specyfikowania ich klas. Przykładowo jest przydatne w grach strategicznych, gdzie jeden budynek (fabryka) produkuje kilka typów jednostek z różnymi zmiennymi. Ogólna struktura tego wzorca wygląda następująco: W praktyce załóżmy, że mamy aplikację „symulującą” dwie restauracje: jedna serwująca burgera XXL i napój […]

Wzorzec kreacyjny używany w przypadku klas z wieloma potencjalnymi konstruktorami i zmiennymi. Ułatwia tworzenie nowych obiektów poprzez wywoływanie setterów klasy Budowniczy, zamiast wypisywania zmiennych w konstruktorze, co może być problematyczne w przypadku klas z wieloma zmiennymi, których niekoniecznie chcemy wszystkich użyć. Istnieją dwa rodzaje tego wzorca. Wersja klasyczna: Oraz wersja prostsza, wbudowana w klasę, której […]

Celem wzorca projektowego fasada jest ukrycie klas i funkcji aplikacji, do których dany użytkownik nie powinien mieć dostępu. Odbywa się to za pomocą dodatkowej klasy „fasadowej”, w której znajdują się funkcje odnoszące się do docelowych, ukrywanych klas. Jest to bardzo przydatny wzorzec w przypadku aplikacji, w których użytkownicy mają różne poziomy dostępu. Schemat działania tego […]

Aplikacja, którą napisałem całkowicie sam, całkowicie w języku C++ w ramach kursu PrzyszłyProgramista, której celem, jak sama nazwa wskazuje, jest prowadzenie swojej książki adresowej. Jest to mój pierwszy duży projekt jakiejkolwiek użytecznej aplikacji, niestety wyłącznie w konsoli windowsa, ale za to w wersji zarówno strukturalnej, jak i obiektowej.. Pełny jej kod wersji obiektowej można znaleźć […]

Aplikacja internetowa stworzona przeze mnie w ramach kursu Przyszły Programista na podstawie samodzielnie zrobionego wzorca MVC. Głównymi jej funkcjami są dodawanie osobistych wydatków i przychodów oraz możliwość późniejszego wyświetlenia ich. Do stworzenia jej użyłem języków PHP, CSS, JS, HTML i MySQL oraz dodatkowo templatki Twig, frameworka Bootstrap i JQuery. Aplikację można znaleźć i przetestować tutaj, […]