Are you sure you're not talking about n-tier applications? Where you can switch and swap any of the components? For example: you have a Database tier, a business process tier or middleware and presentation tier. You would be able to swap any of the three without affecting any of the other layers.