From BuildForTodayDesignForTomorrow
How do you draw the line between code and architecture? What does it mean that an architecture can engage all potential scenarios?
First example: Let's say that you are coding an application which uses check-out register data as a basis for reordering and supplying inventory for a chain of grocery stores. The architecture allows for all the registers and stocking configurations which might be possible in an existing store as well as for future or expanded stores in the chain. The code deals with what exists now, the registers, the stockable shelves, the reserve storage space in each store and warehouse, the existing delivery options including trucks and drivers, wharehousemen, etc. In other words code deals with the operational details, the architectural deals with potentialities.
Another example: A telephone company is constructing a central office which will house the switches and other supporting equipment in a growing city. It starts with a six story building, but provides via foundation and structure of the first six stories for the ability to add an additional 24 stories for future equipment and connection mechanisms such as microwave relays on top of it and and provision for future cabling from overground and underground cabling between floors. (including future floors). [This is an actual example for a building existing in Kansas City, first planned over 40 years ago, and active now with state of the art equipment, now approaching the planned possible height].
[I'm still not sure I understand the difference between code and architecture. Separately, how is this pattern different from RobertMartin's OpenClosedPrinciple?]
In the two examples above the difference is spelled out in Form vs Function. What is common in both is provision of structure based on the exercise of envisioning and predetermination.
Another way in which they are different involves Display vs Hiding. It is not uncommon for an architect to place uncomplicated or non-functional objects in clear view while at the same time placing thing which are ugly but highly functional where they are hidden from view.