Wzorzec projektowy Fabryka (Factory Pattern) jest jednym z najczęściej używanych wzorców kreacyjnych w programowaniu obiektowym. Umożliwia tworzenie obiektu bez eksponowania logiki tworzenia do klienta i odwołuje się do nowo utworzonego obiektu za pomocą wspólnego interfejsu. Wzorzec ten jest szczególnie użyteczny, gdy system powinien być niezależny od sposobu, w jaki jego obiekty są tworzone, skomponowane i reprezentowane.
Przykład zastosowania wzorca Fabryka
Załóżmy, że tworzymy system do zarządzania pracownikami w różnych działach firmy. Chcemy mieć możliwość tworzenia różnych typów pracowników (np. Programista, Projektant) bez określania konkretnych klas w kodzie klienta.
Krok 1: Utworzenie interfejsu Employee
public interface Employee {
void work();
}
Krok 2: Utworzenie konkretnych klas implementujących Employee
// Klasa Programista
public class Developer implements Employee {
@Override
public void work() {
System.out.println("Piszę kod.");
}
}
// Klasa Projektant
public class Designer implements Employee {
@Override
public void work() {
System.out.println("Projektuję interfejsy użytkownika.");
}
}
Krok 3: Utworzenie klasy EmployeeFactory
public class EmployeeFactory {
// Metoda do tworzenia obiektów Employee
public Employee getEmployee(String employeeType) {
if (employeeType == null) {
return null;
}
if (employeeType.equalsIgnoreCase("DEVELOPER")) {
return new Developer();
} else if (employeeType.equalsIgnoreCase("DESIGNER")) {
return new Designer();
}
return null;
}
}
Krok 4: Użycie EmployeeFactory
do tworzenia obiektów
public class FactoryPatternDemo {
public static void main(String[] args) {
EmployeeFactory employeeFactory = new EmployeeFactory();
// Tworzenie Programisty
Employee employee1 = employeeFactory.getEmployee("DEVELOPER");
employee1.work();
// Tworzenie Projektanta
Employee employee2 = employeeFactory.getEmployee("DESIGNER");
employee2.work();
}
}
Podsumowanie
Wzorzec projektowy Fabryka jest potężnym narzędziem w rękach programisty Java, pozwalającym na abstrakcję procesu tworzenia obiektów. Dzięki zastosowaniu wzorca Fabryka, kod staje się bardziej modularny, elastyczny i łatwiejszy do rozbudowy oraz utrzymania. W naszym przykładzie zastosowaliśmy ten wzorzec do tworzenia różnych typów pracowników w zależności od potrzeb, co pokazuje jego praktyczne zastosowanie w prawdziwych scenariuszach programistycznych.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.