¿Deberían todos los campos en una clase de modelado GlobalSettings ser estáticos (centrados en C #)?

StackOverflow https://stackoverflow.com/questions/1030852

Pregunta

La idea es que la clase ApplicationSettings obtendrá algunos valores predeterminados de un archivo de configuración / recurso y más adelante se aplicarán algunas, pero no todas, de esas configuraciones a UserSettings

¿Fue útil?

Solución

Debería tener solo campos de instancia en dicha clase, y hacer que toda la clase sea Singleton si es necesario (aunque tenga cuidado de no exponerla globalmente - los singletons son malos ).

Los campos estáticos no se pueden serializar (lo cual es importante para una clase de configuración). En segundo lugar, al tener campos de instancia, puede pasar fácilmente diferentes instancias de configuración a diferentes partes de su aplicación. Y el punto importante es pasar las configuraciones al resto de la aplicación, no hacerlas visibles globalmente para que todos los objetos puedan acceder a ellas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top