Arkitektur i programmering beskæftiger sig med strukturen bag koden: hvordan systemets dele hænger sammen, hvordan de kommunikerer, og hvordan ansvaret fordeles mellem dem. En god arkitektur gør systemet lettere at forstå, ændre, teste og genbruge.
Et af de mest udbredte principper er lagdeling, hvor man adskiller brugergrænseflade, forretningslogik og dataadgang i hver sit lag. Factory, Strategy og Repository er forskellige velafprøvede designmønstre.