Pregunta

Una pregunta trivial tal vez, pero estoy interesado en las respuestas. Actualmente estoy refactorización algunos archivos de recursos de cadena monolítica muy grandes (archivo de recursos de un contenedor de basura por proyecto, en unos 30 proyectos). Estoy división ellas de tal manera que seguimos una convención para nuestros archivos y hacer que las cuerdas más fácil de encontrar y administrar al codificar.

En general estoy división de los archivos en este esquema:

  • ErrorMessages.resx
  • LogMessages.resx
  • ViewResources.resx
  • AppResources.resx

No estoy terriblemente emocionado con el nombramiento, y me pregunto lo utilizan otras personas. Por ejemplo, en lugar de AppResources (cadenas para uso interno de la aplicación), he visto una gran cantidad de proyectos de demostración utilizar StringResources, Internal (terrible!), Etc.

Ideas / anécdotas / sugerencias sobre la gestión de los recursos o esquemas de nomenclatura estándar son apreciadas.

¿Fue útil?

Solución

Yo generalmente estructurar mis recursos como esto:

El primer archivo de recursos es utilizada por toda la aplicación (por ejemplo Project.Core) y no incluye todo tipo de cadenas comunes ampliamente utilizados. En realidad no hay ninguna diferencia entre los errores / excepciones y registro:

  • CommonResources.resx
    modificador de acceso: Público
    • Error_Context
      por ejemplo Error_ArgumentCannotBeNull
    • Warn_Context
      por ejemplo Warn_ApplicationSettingNotFoundUseDefault
    • Info_Context
      por ejemplo Info_UpdateAvailable
    • Validation_Context
      por ejemplo Validation_EmailNotValid

El archivo segundo recurso es utilizado por la capa de presentación y contiene todo tipo de cadenas de la IU. La denominación puede variar de un proyecto a otro, pero en general parece que el siguiente esquema:

  • PresentationResources.resx
    modificador de acceso: Interno
    • Common_Context
      por ejemplo Common_Yes
    • Section/Controller_Window/View_Context
      por ejemplo Help_FAQ_HeadlineHowToUseResources o Help_FAQ_TextHowToUseResources

Finalmente cada proyecto / montaje tenga también un archivo de recursos internos para el error Advertir a los recursos / / Info / validación que son demasiado específicas para ir en el archivo CommonResources.resx. Tengo que admitir, que en su mayoría un nombre a este archivo de recursos InternalResources.cs;)

  • InternalResources.resx
    modificador de acceso: Interno
    • Classname_Error_Context
      por ejemplo BCrypt_Error_InvalidSaltRevision
    • Classname_Warn_Context
    • Classname_Info_Context
    • Classname_Validation_Context
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top