We have a system where the frontend(which is not the GUI)but which simulates a subset of GUI and passes on the commands(requests) and log the response data from the backend.
We feel that there is a scope for improvement in next version of our product.As a sidenote this is in Java.
Now the current design is partitioned into 2 classes in which
Class A ==> subset of commands for Global administrator all implemented as separate functions(methods in Java)
Class B ==> subset of commands for Local administrator all implemented as separate functions(methods in Java)
Each time we get a request we do the checks and then spawn either a Class A /Class B object with the relevant parameters.
Now Class A/B are becoming huge and unmanageable.We are also running into Memory problems(Java is horrible in memory management,yet to improve ,how I wish there was a 'delete object' ,sigh...)
The desired solution will have extensibility in that we can add new commands to either of them easily.
Mind you the data is parsed from the simulated GUI/ and formatted for backend in the above 2 classes for all the implemented commands.
A complete redesign is on the cards and some help in brainstorming with design patterns is sought with justifiction for our client.
Also I was thinking since we are spawning those 2 classes can't we have static functions(methods in Java) for all commands ,so that memory footprint is conserved?And we doont have to spawn objects?
p.s deliberately keeping low points ,since posted in C++ & Java sections