No es que no entiendo el concepto de OOP, y qué se debe hacer cuando, pero a veces me pierdo mentalmente en eso.Perderse en la OOP joungle cuando intenta poner un método en el lugar correcto, etc.
¿Qué mejor que un ejemplo? Así que necesitaba descargar un archivo en una ruta temporal, decidí obtener la ruta temporal no por los métodos normales de dot net, debido a una razón irrelevante. Así que escribí mi propio método para este string GetTempFileSafe(string extension, out FileStream)
, lindo, ¿no? Pero, oye, espera un momento, este no es el lugar correcto para este método ... Este método podría usarse para otras cosas. Tiene que ser un método público estático en alguna parte. ¿pero donde? Bueno, supongo que tendré que abrir una nueva clase estática para eso. Espero agregarle más métodos algún otro día.
Así que definí public static class FileStreamUtils \\one hell of a name huh?
y le agregué mi método. Pero espera ... ¿Dónde debería estar esta clase? Básicamente puedo usarlo desde cualquier proyecto ... no tiene nada que ver con este específico. Así que abrí una nueva biblioteca a la que llamé al MyUtils
.
Agregué mi clase estática con mi único método estático, construí la biblioteca, agregué el dll como referencia a mi proyecto original ... y eso. (preste atención el método es más difícil de depurar, porque estoy usando el dll en lugar del código original)
Ahora no me malinterprete. Literalmente me encantan los conceptos y el orden de OOP, pero a veces me agota mentalmente ... tal vez porque trabajo solo.
¿Qué opinas? ¿Estoy llorando por nada, y cosas como abrir una biblioteca de utilidades se hacen más de una vez, y solo necesito cambiar mi actitud? ¿O crees que a veces es mejor no mantener tanto la pulcritud (en mi caso, por ejemplo, solo vivo el método allí, y en caso de que lo necesite de nuevo, lo muevo para uso público)?
Muchas gracias. Y por favor, si de alguna manera logras encontrar una razón para votar por mí, no hay problema, pero solo por favor deja un comentario, así podré no repetir mis errores aquí.
+1 por tener las pelotas para admitir esto puede ser confuso a veces; especialmente en un área donde el elitismo es tan abundante. – Stimul8d
Acerca de dificultar la depuración, parece que está haciendo referencia a la DLL binaria. ¿Por qué no agrega el proyecto de utilidad a su solución y hace referencia al proyecto en su lugar? – SoftMemes
@Freed, ¿copia el proyecto o hace referencia a él? si cambio la biblioteca, ¿se actualizarán todos los proyectos que la usan? – Letterman