🌱 Digital Garden

Search

Search IconIcon to open search

Diseño por Contrato

Last updated Unknown Edit Source

El diseño por contrato establece un contrato entre dos partes, el cliente y el servidor. Regularmente, es utilizada al desarrollar la implementacion de una clase. En este caso, el cliente de un metodo es quien le esta llamando, el servidor es el que procesa la entrada y del que se espera obtener un resultado.

# Diferenciaciones

Tres terminologias

Dos tipos de errores

Dos mecanismos para lidiar con fallos

La programacion defensiva es poco apropiada, pero de ser implementada, puede servir finalmente como una red de aserciones.

# Buenas Practicas

El diseño por contrato concibe que estas dos partes tengan un contrato formal en el que se establecen:

  1. Las precondiciones que debe de cumplir un cliente para llamar una funcion
  2. Las postcondiciones que debe de cumplir el servidor y retornarle al cliente

De esta forma, las dos partes del contrato pueden estar seguras que ambas cumpliran con su parte y pueden avanzar de forma segura.

Para implementarlo se suele utilizar los assert.