Solution design
Posted: Mon Dec 11, 2006 4:38 am
Greetings to everyone! I'm a new member here, and would like to start an, as for me, interesting discussion. Sorry if there's been a similar/same discussion here, I tried to look for it, but couldn't find it.
I'm at the beginning of a new site. I haven't written a single line of code yet, nor done any design, but am still troubling about general solution design.
I've been writing sites in PHP for quite a while now (several years, but none professionally), and for 4 months now I have worked as an ASP.NET programmer. This new site I'm doing will be implemented in PHP. So, after seeing how stuff is done in ASP.NET+C#, after having some experience in PHP (made a forum "from scratch" for my faculty and an institution in the city I'm living in, made several applications for firms here, made sites for my own needs, doing scripts generating WML for mobiles, etc.), I'm at the beginning of this new site and I would really like to it as close to 'perfectly' as possible. I'm experienced mostly in C++ and C, and have great experience in UNIX programming. Now, however, different concepts of organising code, dilemma between OOP and procedural, should I use SMARTY or develop a templating system of my own? The biggest thing, however, is - how much each component should be flexible and extensible, where's the limit for this, and how to make it such. How to split the site into components, do I put localisation stuff into files with constant definitions, or I put it all into a database table?
All these questions might reasonably sound vague and unclear, but the point of this thread shouldn't be, the way I see it, answering these concrete questions, but rather explaining how You start organising stuff from the very beginning, what's the flow of your mind when splitting components and solving them separately, what you put into the database, what into data files, and what directly into your code, and how do you decide this? What is your templating system of choice? Other questions that you came across in your experience, even coding techniques and way of organising your directories when organising data, code, helper-files etc.
I'm sure there are a lot of good programmers here, and it's worth listening to their (your) advices and experience.
I'm at the beginning of a new site. I haven't written a single line of code yet, nor done any design, but am still troubling about general solution design.
I've been writing sites in PHP for quite a while now (several years, but none professionally), and for 4 months now I have worked as an ASP.NET programmer. This new site I'm doing will be implemented in PHP. So, after seeing how stuff is done in ASP.NET+C#, after having some experience in PHP (made a forum "from scratch" for my faculty and an institution in the city I'm living in, made several applications for firms here, made sites for my own needs, doing scripts generating WML for mobiles, etc.), I'm at the beginning of this new site and I would really like to it as close to 'perfectly' as possible. I'm experienced mostly in C++ and C, and have great experience in UNIX programming. Now, however, different concepts of organising code, dilemma between OOP and procedural, should I use SMARTY or develop a templating system of my own? The biggest thing, however, is - how much each component should be flexible and extensible, where's the limit for this, and how to make it such. How to split the site into components, do I put localisation stuff into files with constant definitions, or I put it all into a database table?
All these questions might reasonably sound vague and unclear, but the point of this thread shouldn't be, the way I see it, answering these concrete questions, but rather explaining how You start organising stuff from the very beginning, what's the flow of your mind when splitting components and solving them separately, what you put into the database, what into data files, and what directly into your code, and how do you decide this? What is your templating system of choice? Other questions that you came across in your experience, even coding techniques and way of organising your directories when organising data, code, helper-files etc.
I'm sure there are a lot of good programmers here, and it's worth listening to their (your) advices and experience.