Hello everyone.
I've been working as a programmer for some months now, and, during this time, I have been improving my programming skills a great deal. My strongest suit is implementation, meaning, when facing a problem it will be a matter of time until I find and implement a working solution.
My weakest suit is program architecture and, for this reason, my boss proposed me a challenge in which I'll have to completely re-structure an existing program.
This program processes information that comes from a set of sensors in order to provide important output to the main application. It is a program that runs continuously as long as the sensors are working.
At the moment it is structured in the following way:
Each processing unit has its own class with its own methods, variables and data. Every processing unit has an update method.
There is a main class Process, that also has an update method that runs each time a block of data comes from the sensors. In this method I call the update of each of the processing units in the right order they need to run.
My goal is to re-structure this architecture in order to make it more professional and create a methodology for other programmers to come and implement new features in a standard way.
I know this was a very light explanation, but I am hoping to get some advice on how to think right when it comes to program architecture and complete my task with success.
Best regards!