I'm in the process of refactoring my camera code the goal is to try and simplify things using a struct instead of a class or at the very least try something new since I always jump straight to classes/OOP. The struct would just have data I know it could have logic, but that doesn't seem to be common so the problem becomes how do I control the camera. Originally I was gonna have free functions, but the word "controller" popped into my head I don't actually know what "controller" means, but based on the word it would be some object like CameraController which would use the data from the Camera struct and then have logic to control it.
I'd like to know if this is what "controller" means and if so would an approach like this be better then just doing OOP?