Si te interesa la arquitectura del software, hoy traigo un documento An Introduction to Software Architecture

que es una buena introducción a los distintos estilos arquitectónicos. Dejo algunos ejemplos de estilos de los que se tratan en el texto:

Pipes and Filters

Creo que el ejemplo más claro proviene del mundo de los sistemas operativos, y son los comandos de consola. Por ejemplo de UNIX. ¿Quién no ha usado alguna vez una “tubería”? 

Data Abstraction and Object-Oriented Organization

Lenguajes orientados a objetos y también no orientados a objetos, ya que se pueden construir estructuras abstractas de datos con ellos. La orientación a objetos, en el sentido de tratar a un lenguaje como orientado a objetos, “sólo” facilita el trabajo.

Event-based, Implicit Invocation

Editor de código, procesador de texto (p.e. comprobación ortográfica), GUI

Layered Systems

El ejemplo del modelo OSI que citan en el texto, es bastante bueno. Uno más enfocado al mundo de la arquitectura, es el archiconocido MVC e incluso la evolución que desarrolló el principal arquitecto de Silverlight, MVVM, el cual incluso lo combina con un enfoque de Event-based a través de interfaces.

Table Driven Interpreters

Prácticamente cualquier intérprete de un lenguaje de alto nivel.