"Congratulations on upgrading your skills. We need guys who are prepared to do anything."
"I'm sure you still have many unfinished tasks. It's time to finish some of them!"
Factories (part 1)
Hi! Now you're going to dig into the Factory Method pattern. Let's take people as an example. We'll determine what type of person someone is depending on his or her age. In this task, we'll prepare the data that we'll use in the factory. 1. Create a shared Human interface for all types of people.
Factories (part 2)
1. Create a public MaleFactory class in the male package with a public getPerson method that accepts one int age argument and returns an appropriate object of a class implementing the Human interface.
Factories (part 3)
1. Create a female package and create KidGirl, TeenGirl, and Woman classes in it by analogy with the classes in the male package. 2. Create a FemaleFactory in the female package by analogy with MaleFactory and using the same principle for getting objects.
Factories (part 4)
1. At the root of the task, create an AbstractFactory interface and move the factories' common method into it. 2. Implement the AbstractFactory interface in both factories.