For faster navigation, this Iframe is preloading the Wikiwand page for Diseño por contrato.

Diseño por contrato

El diseño por contrato es una metodología para el diseño e implementación de aplicaciones y componentes popularizada por el lenguaje de programación Eiffel. Consiste en considerar los elementos de diseño como participantes de una relación similar al contrato de negocios. Así, se pueden diseñar los componentes dando por supuesto que se cumplirán ciertas condiciones de entrada (precondiciones), mientras que se deberán garantizar ciertas condiciones de salida (postcondiciones), así como la invariante de clase (propiedades que se mantienen invariantes a pesar del procesamiento realizado por el componente).

Esta metodología promete:

  • Una mejor comprensión de la programación orientada a objetos. Esto se debe a que el propio prototipo de un recurso de una clase es también parte del contrato que este ofrece. Mediante razonamientos de este tipo, por ejemplo, se justifica el comportamiento covariante de los tipos de retornos de los métodos en Eiffel.
  • Menos errores en el código gracias a una mejor representación de las especificaciones.
  • Un sistema efectivo para detectar errores.
  • Una forma práctica de documentar el código al mismo tiempo en que se programa.
  • Una imbricación eficaz con los mecanismos de herencia y reutilización.
  • Una forma efectiva de encapsulación evitando el acceso al resto de propiedades y métodos.
  • Una agrupación de operaciones para un mismo contexto. Si hablamos de una entidad A del cual, podemos instanciar dos objetos B y C que tienen distintos contextos relacionados con la entidad A, con el contrato no exponemos el negocio que tenga que ofrecer el objeto B con el del C. Un ejemplo A = Banco, B= Ingresos bancarios y C= pagos de facturas.
{{bottomLinkPreText}} {{bottomLinkText}}
Diseño por contrato
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?