Architects like to say repetition bad, abstraction good but abstraction is a complex issue Coupling, the more you abstract, the more the system becomes coupled

So DRY isn’t always helpful

Publish–subscribe pattern

Monolithic architecture

Jamstack

Javascript, API and Markup (generated by a static site generator)

Microservices architecture

Service-oriented architecture (SOA)

Client-server architecture

Layered architecture