The distinction between the terms architecture, design, and implementation is largely informal. We provide a formal insight into the distinction using the Intension/Locality Criteria. We demonstrate that, regardless the choice of specification language, architectural styles are intensional and non-local; that design patterns are intensional and local; and that implementations are extensional and local.