Habilidad de diseño de software y los detalles de implementación

La habilidad del diseño de software incluye una tendencia o hábito por conocer los detalles acerca de la materia prima de la que están hechas nuestras composiciones de software. Entre más detalles conozcas, más alta la probabilidad de conseguir diseños exitosos.

La intención de la técnica de encapsulado por medio de ocultar información es para la relación entre componentes de software; es decir, un componente de software sólo deberá conocer lo absolutamente necesario acerca de otros componentes de software y deberá asumir únicamente lo que sea parte de su interfaz pública. En otras palabras, reglas de administración de dependencias. La técnica de encapsulamiento no necesariamente está intencionada para diseñadores.

.NET Framework = CLR + BCL
donde:
CLR = The .NET execution engine or Common Language Runtime
BCL = Base class libraries

Entre más se conozca del CLR y BCL, mejor; pero no sólo la interfaz pública sino también el interior. Reflector es una excelente herramienta de diseño para cualquier sistema basado en el ambiente .NET.

El ambiente de Visual Studio ahora permite ejecutar en modo de depuración y muestra el código fuente de algunas clases de BCL, y esto también es una buena herramienta para el diseño de software.