Hay cinco tipos de connascencia estática. Reconocerlos y comprenderlos puede ayudarlo a ver más profundamente en su código y cómo funciona. Muchos y quizás todos te serán familiares, aunque apuesto a que nunca los consideraste «acoplando». Connascencia del nombre Connascence de nombre ocurre cuando dos cosas tienen que estar de acuerdo sobre el nombre de algo. Esta es la forma más débil de Connascencia, o la forma de acoplamiento más suelta, y la que debemos aspirar a limitarnos. Si declara un procedimiento como la función dosomething (): void {// código que hace algo}, entonces debe llamarlo usando su nombre, en este caso Dosomething. Una vez que elige el nombre, está atascado con él. Cambiar el nombre de algo requiere cambios en otro lugar. Si desea cambiar el nombre del procedimiento, debe cambiarlo a todas partes que lo haya llamado. Eso parece obvio y, por supuesto, este nivel de Connascencia es inevitable. De hecho, es deseable. Es el nivel más bajo de acoplamiento que podemos tener. Si pudiéramos limitar nuestro acoplamiento a Connascence of Name, lo estaríamos muy bien. La connascencia del tipo connascencia del tipo ocurre cuando dos entidades tienen que estar de acuerdo en el tipo de algo. El ejemplo más obvio son los parámetros de un método. Si declara una función de la siguiente manera: class someclass {ProcessWidget (awidget: widget, aaction: widgetactionType): boolean {// La lógica de funciones va aquí return false; // Valor de retorno de ejemplo}} Entonces cualquier código de llamada debe pasar un widget y un widgetactionType como parámetros de la función ProcessWidget y debe aceptar un booleano como tipo de resultado. La connascencia del tipo no es tan débil como la connascencia de nombre, pero todavía se considera un nivel de connascencia débil y aceptable. De hecho, no podrías llevarse bien sin él, ¿verdad? Debe poder llamar a un método de clase para hacer algo, y no es muy pesado asegurarse de que sus tipos coincidan. La mayoría de los códigos ni siquiera funcionarán correctamente si no se acopla con código a través de Connascence of Type. Los compiladores de un idioma escrito ni siquiera compilarán un código que no esté junto con la connascencia del tipo. Connascencia del significado La connascencia del significado ocurre cuando los componentes deben estar de acuerdo en el significado de valores particulares. La connascencia del significado ocurre con mayor frecuencia cuando usamos «números mágicos», es decir, cuando usamos valores específicos que tienen significado en múltiples lugares.