Compléter Patrones y frameworkVersion en ligne Completar texto. par Corporación Universitaria Iberoamericana 1 implementación agregación interfaz encapsulación composición encapsulación redundancia de código negra herencia Los autores del GoF proponen dos principios básicos : Programar orientado a una y no a una . Este principio busca que el código se utilice como una herramienta que no revele su funcionamiento ; es la clásica metáfora de la " caja " , implementada a través del principio de la . De este modo , los usuarios del código se centran en la forma abstracta , lo que puede hacer y no puede hacer el código , en vez de en el cómo lo hace . Favorecer la composición antes que la herencia . En las arquitecturas orientadas a objetos , la composición y la herencia pueden ser muy próximas funcionalmente , pero conceptualmente son distintas . Ambas permiten la agregación de funcionalidades cuando diseñamos una clase y evitan la , pero tienen una diferencia fundamental : la herencia , que expone el funcionamiento de una clase , mientras que la no lo hace ( si trata con clases bien encapsuladas ) . Siguiendo el principio anterior , es lógico que los patrones GoF favorezcan la , ya que la no garantiza la .