A Component Approach
By admin • Apr 30th, 2008 • Category: 2.1.1. PlanningMy preferred approach to any moderately sized system is a modular, or component based approach. I’ve had experience building medium-large systems, both completely on my own and with a team, and one thing I’ve learned is to not try and build a big system all at once. If you do, you’re bound to get stressed and confused (at least that’s what happens to me)
Instead, look at building lots of smaller, more manageable components, keeping things simple. If you break a big system up into smaller, more manageable pieces, your life will be a lot easier and you won’t get lost in the sea of code.
Advantages
The primary advantage of this approach is the ease of organising and planning your system, which I’ve found to always be the hardest part of any application. When you take a component based approach, everything is more easily manageable.
Another great advantage to the component based approach is that if you find performance to be poor in one component, you can easily fix that one component without it greatly affecting the rest of the system. If you keep your components loosely coupled, making changes to one component will not be difficult, so when planning your components, be smart about relationships between components. The more interlinked and depending things are on each other, the harder it is to make future upgrades as more and more things become affected by change.
Real world example
How did I approach this CMS? I got the basic backend framework organised. For me, it was just security and user management. Once I had security organised, and members organised, I had a basic login system. So those objects (security and members) were my first components. Then once those were in place, I just started to add components as I saw fit, step by step.
With this approach, before you know it that ‘basic framework’ will be holding lots of new components that you’ve added and you will suddenly have that big system you wanted, but without the stress
Of course, the only trick is to make sure your basic framework is in good shape, otherwise all things that rely on those basic elements (like security and members) will suffer, especially if you make future changes to security because you didn’t think it through properly to begin with!
admin is
Email this author | All posts by admin
