moduleFactory = $moduleFactory; } public function getModuleFactory(): ModuleFactory { return $this->moduleFactory; } public function getDBQueriesFactory(): DBQueriesFactory { if ($this->dbQueriesFactory) { return $this->dbQueriesFactory; } $this->dbQueriesFactory = new DBQueriesFactory(); $this->dbQueriesFactory->setInfrastructureFactory($this); return $this->dbQueriesFactory; } public function getOtherQueriesFactory(): OtherQueriesFactory { if ($this->otherQueriesFactory) { return $this->otherQueriesFactory; } $this->otherQueriesFactory = new OtherQueriesFactory(); return $this->otherQueriesFactory; } public function getStorageFactory(): StorageFactory { if ($this->storageFactory) { return $this->storageFactory; } $this->storageFactory = new StorageFactory; $this->storageFactory->setInfrastructureFactory($this); return $this->storageFactory; } public function getDBPersistLayerFactory(): DBPersistLayerFactory { if ($this->dbPersistLayerFactory) { return $this->dbPersistLayerFactory; } $this->dbPersistLayerFactory = new DBPersistLayerFactory; $this->dbPersistLayerFactory->setInfrastructureFactory($this); return $this->dbPersistLayerFactory; } }