2008-09-24 7 views
6

Estoy tratando de enseñarme a mí mismo cómo usar Patrones de persistencia modernos (OR/M, repositorio, etc.) y las prácticas de desarrollo (TDD, etc.).¿En qué es un buen proyecto para aprender patrones y prácticas modernos?

Como la mejor manera (para mí) de aprender es haciendo, me gustaría crear algún tipo de aplicación de demostración para mí. El problema es que no tengo idea de qué tipo de aplicación construir. Me gustaría hacer un blog sobre mi experiencia, así que me gustaría construir algo valioso para la comunidad, pero al mismo tiempo quiero evitar cosas que otros están haciendo activamente (web commerce, forums) o se han hecho para muerte (motores de blog).

¿Alguien tiene alguna sugerencia para un buen proyecto de mascota en el que podría trabajar y quizás bloguear sobre mis experiencias?

Respuesta

11

Existen innumerables organizaciones de servicio comunitario con poca o ninguna presencia en la web.

Elija una organización de servicio - cualquiera - Voluntarios de alfabetización, Despensas de alimentos, Muebles para el hogar Donaciones, Alcohólicos anónimos - cualquier cosa. Las organizaciones comunitarias de base se benefician más de la participación; a menudo necesitan una presencia web más dinámica pero no pueden pagarla.

Consulte su sitio web actual. Constrúyelos mejor. Done a ellos.

+2

Ahora esta es una gran idea, y algo que no había considerado antes. Gracias. =) –

+3

Esa es una gran idea. –

1

Por supuesto, puede gastar 6 meses para elegir un proyecto de código abierto y comenzar poco a poco a ser aceptado y entiende cómo funciona el sistema de contribución.

Pero la mejor manera es aún comenzar su propio proyecto, con sus propios estándares, eso probablemente será una falla. Debe intentar, fracasar y aprender de los errores para mejorar, usando lo que desea practicar.

Como un escritor francés dijo:

"Un genio sentado siempre irá muy lejos menos que un idiota caminar".

+0

Acepto - Necesitaré fallar algunas veces antes de tener éxito. Aunque todavía no tengo ninguna idea sobre a qué fallar ... ¡aunque gracias! =) –

3

Diría que una manera excelente es comenzar con el proyecto de ejemplo para un marco central que desea aprender o construir su aplicación. Usando Spring como ejemplo, tienen una gran aplicación web 'tienda de mascotas' que puedes descargar que muestra cómo usar muchas partes diferentes del framework de la manera recomendada. A partir de ahí, puede ampliarlo: verifique el control de código fuente, obtenga compilaciones automáticas, agregue sus propias pruebas unitarias o primeras adiciones de prueba, cambie su propia capa ORM, pruebe diferentes capas de vista, etc.

Una vez tienes todo funcionando como quieres, luego puedes ramificar más fácilmente e incluso crear tu propia aplicación desde cero usando lo que has aprendido.

Encuentro comenzar con una buena base ("bueno" es importante, ya que desea aprender las mejores prácticas y no basar su trabajo en algo pirateado por un usuario de Internet al azar) y construir realmente ayuda, en oposición a comenzar con un proyecto en blanco que puede ser abrumador, especialmente si intenta aprender muchas cosas nuevas a la vez.

1

¿Qué tal un sitio web donde las personas pueden hacer preguntas orientadas a la tecnología y obtener respuestas de la comunidad de expertos colectivos en las redes?

Creo que el aspecto más importante de un proyecto de mascota es el hecho de que TIENE que ser algo que te importe y que utilices. Si lo usa, y es útil para usted, entonces otros encontrarán lo mismo. Si estás trabajando en algo porque alguien lo sugirió, entonces se convierte en trabajo.

Para jugar con TDD, terminé creando un analizador de argumentos de línea de comandos. Escribí muchas aplicaciones de consola, y era algo que podía beneficiarse, estaba interesado y fue divertido para mí. Ya hay otros por ahí, pero ese no era realmente el punto para mí. Yo también tenía la intención de bloguear al respecto, pero mi otro proyecto favorito para jugar con patrones y arquitectura era una plataforma de blog "hecha a muerte" ... y bloguear sobre cómo escribir una plataforma de blogs usando una plataforma de blogs que estás creando ... bueno, eso es difícil.

Al final, ninguno de mis proyectos trajo mucho a la comunidad en este punto, pero he notado las recompensas de cómo ataco los problemas. Encuentre algo de lo que pueda beneficiarse y preocúpese por los beneficios para otros más adelante. Sé un poco egoísta

+0

¿Quiere decir, como StackOverflow? = P –

1

Esta es una muy buena pregunta. Siento que esta debe ser la sensación de muchos desarrolladores. Muchas veces estamos restringidos por las aplicaciones que estamos desarrollando en el trabajo. Puede que no haya la oportunidad de implementar cada cosa más grande y última.

Tengo los mismos sentimientos. Lo que hago es persuadir a mi equipo para que aprenda cosas nuevas y comparta conocimientos sobre las nuevas tecnologías. He comenzado a construir mi propio tipo de proyecto. Tiene un uso mucho menos en tiempo real, pero puedo jugar con él.

Por ejemplo, estoy usando EntLib en DAL, pero mañana cuando logre aprender LINQ, reemplazaré EntLib con LINQ. Probablemente LINQ a Entidades. Luego expuse estos métodos DAL usando WCF simple. Luego aprendí cómo implementar WebHttpBinding y expuse mi servicio WCF usando JSON. Tengo planeado ahora aprender MS MVC y jQuery y hacer algo de ASP.Net/AJAX allí.

Básicamente debe apuntar el problema de a uno por vez en trozos pequeños. Si tiene tiempo y celo, la primera solución sugerida aquí parece ser la mejor.

¡¡Buena suerte !!!

+0

Gracias =) Un buen consejo al final - ese es el mayor problema que tengo, mis proyectos personales tienden a ser demasiado ambiciosos, especialmente cuando trato de aprender algo nuevo. –

Cuestiones relacionadas