Как правильно порождать объекты?
1. Норм.
2. Норм.
3. Плохо, транспорт не должен создавать колёса.Вопрос - как логичней это делать? Учитывая то, что в сущности Wheel по-умолчанию нужно установить нек-рые параметры, к-рые зависят от параметров родителя, т.е. сущности Transport.
Сперва создаёте колесо (через new или через фабрику, как удобнее) и настраиваете параметры, не зависящие от транспорта:$wheel = new Wheel();
Затем добавляете колесо к транспорту:$transport->addWheel($wheel);
Параметры Wheel, которые зависят от Transport, определяются в методе Transport::addWheel() или Wheel::setTransport():public function addWheel(Wheel $wheel)
{
    $wheel->setTransport($this);
    $this->getWheelsCollection()->add($wheel);
}
В данном случае, у вас колесо должно знать что-то о транспорте, а не наоборот.
Абстракция не должна зависеть от деталей. В данном случае транспорт у вас абстракция. 
("Wheel по-умолчанию нужно установить нек-рые параметры, к-рые зависят от параметров родителя")
Так что смотрите в сторону new Wheel(TransportInterface $transport);
Если колёса не будут зависеть от транспорта и их можно будет лепить куда угодно, то в этом случае как раз какая-нибудь фабрика.
Ну а коль транспорт может быть без колёс (лодка) и колёса можно будет лепить куда угодно, то тут какой-нибудь Creator, который будет собирать и лодку на колёсах и джипы на салазках