What do you prefer and why?
I lean to development pattern. First I establish development structure (objects and directories) and then create a code generator, which will generate code for the established structure.
The benefit, once you get to understand the pattern you can easily detect problems (bugs) also others devs will take less time to debug.
The disadvantage is your code is duplicated by the generator.
The other way is dynamical programming. Your code is very dynamical, challenging, every feature is differently implemented.
The benefit, you learn a lot by "experimenting", you build your knowledge.
The disadvantage is your code legacy...