The Patterns: Units of Construction
Units of Construction
Building Architecture
Materials have certain qualities such as texture and strength which need to be taken into account when designing a building structure. Structures are made up of units of construction which in turn inherit the attributes of the material.  
Architecture Intensive Disciplines
Every programming language has its own qualities. Even amongst those languages that are said to be object orientated (OO), the way OO is implement is likely to differ. A languages such as C++ are suited for low level and real time applications while Java is suited for network applications across multiple platforms. Delphi (Object Pascal) and Visual Basic are widely used because of they can increase productivity with their visual Interface Development Environment (IDE) which facilitates rapid application development. Some languages like SQL or Structured Query Language have their variants and are specific designed for database programming. The type of components these languages and tools are able to produce have specific forms and constraints. You can build a stored procedure using SQL and compile an applet from Java source code. A stored procedure differs in form from an applet, but both are units of construction or components of an application or system.  
Case Study A: Large Corporate IT
With the view to migrating to .NET, an application architecture model was developed which illustrated the units of construction, Component Object Model. The model was supported by templates and sample code. Stored Procedures, Active Server Pages, Client-Side Scripts were all treated as units of construction.  
Case Study B: Small Commercial Team
With this commercial product, one of the first things that needed to be addressed was the Configuration Management and lack of a Configuration Controller. Visual Source Safe was used for all version control, but there was no proper method for handling builds and releases. Clients had different versions of compiled executables and components (*.dll files) which did not align with source code versions and database structures. The directory structure had no logical design and file dependencies were scattered all over the development server. There was only one domain for development, testing and production. It illustrated the danger of relying on a tool rather than designing a system.