In the last chapter, we upgraded our Content Management System to use a database, pretty much without any real thought to the overall application we want to end up with. We created a table for our content, which originally had no provisions for multiple pages. While we did add a column to the table when we figured out that we wanted multiple pages worth of content, we had to go back and add data for the new column for those records we had already created. It wasn't hard; we added the name Home
to our first record in the PageName
column. However, what if we already had 100, or 500, or even a million records in the table? It would have been a lot smarter to plan the columns in the table before we started filling them with data.
And that's what architecture is. Just like architecture for a building, program architecture is a plan for the development of the program. It includes a foundation for the program to rest on, supporting structures for...