Parece que las pautas oficiales de Microsoft sobre el sellado han evolucionado desde que se hizo esta pregunta hace ~ 9 años, y pasaron de una filosofía de inclusión voluntaria (sello por defecto) a exclusión voluntaria (no sellar por defecto):
X NO selle las clases sin tener una buena razón para hacerlo.
Sellar una clase porque no puede pensar en un escenario de extensibilidad no es una buena razón. A los usuarios de framework les gusta heredar de las clases por varias razones no obvias, como agregar miembros de conveniencia. Consulte Clases sin sellar para ver ejemplos de motivos no obvios por los que los usuarios quieren heredar de un tipo.
Entre las buenas razones para sellar una clase se incluyen las siguientes:
- La clase es una clase estática. Consulte Diseño de clases estáticas.
- La clase almacena secretos sensibles a la seguridad en miembros protegidos heredados.
- La clase hereda muchos miembros virtuales y el costo de sellarlos individualmente superaría los beneficios de dejar la clase sin sellar.
- La clase es un atributo que requiere una búsqueda en tiempo de ejecución muy rápida. Los atributos sellados tienen niveles de rendimiento ligeramente más altos que los no sellados. Ver atributos.
X NO declare miembros protegidos o virtuales en tipos sellados.
Por definición, los tipos sellados no se pueden heredar. Esto significa que los miembros protegidos en tipos sellados no se pueden llamar y los métodos virtuales en tipos sellados no se pueden invalidar.
✓ CONSIDERE sellar los miembros que anula. Los problemas que pueden resultar de la introducción de miembros virtuales (discutidos en Miembros virtuales) también se aplican a las anulaciones, aunque en un grado ligeramente menor. Sellar una anulación lo protege de estos problemas a partir de ese punto en la jerarquía de herencia.
De hecho, si busca en la base de código ASP.Net Core , solo encontrará alrededor de 30 ocurrencias sealed class, la mayoría de las cuales son atributos y clases de prueba.
Creo que la conservación de la inmutabilidad es un buen argumento a favor del sellado.