martes, abril 25, 2006

Algo de Diseño

Luego de la prueba de concepto y el control de versiones, el tercer paso, comenzar el diseño. En este caso es bastante simple. Construiremos una clase, ParseWeather con los siguientes métodos:

GetHtml(url, out error) : Boolean
   Obtiene el archivo definido en la url. Si falla el proceso devuelve false y entrega mensaje en error que comienza con 'Error:'.

SaveHtml(url, filename, out error) : Boolean
   Graba el archivo definido en la url en el archivo indicado en filename. Si falla devuelve false y entrega mensaje en error que comienza con 'Error:'.

SaveData(data, filename, out error) : Boolean
   Graba los datos que vienen en data en el archivo indicado en filename. Si falla devuelve false y entrega mensaje de error que comienza con 'Error:'.

GetWeather(out date, out temp, out error) : Boolean
   Obtiene la temperatura estimada en temp y la fecha para esa estimación en date (en ese caso devuelve true). Si falla devuelve false y entrega mensaje de error que comienza con 'Error:'.

No voy a entrar en detalles si este es o no un buen diseño, digamos por ahora, que es simple, cumple con el objetivo de poder escribir un código simple para luego utilizarlo (como clase en una dll aún no está claro cual será la interfaz de usuario, pero potencialmente puede ser cualquiera, consola, Windows Forms, ASP.NET, WebServices, Ajax, etc).

Finalmente, y sólo como anotación, es evidente que el único método, estrictamente hablando, necesario es GetWeather, los otros podrían estar ocultos. Los dejo sólo por que de esa forma podemos probarlos en forma más simple.... lo cual me recuerda, ok, tenemos nuestro diseño, y una especificación inicial razonable, ¿comenzamos ya a programar? ¿qué pasos pueden estar faltando? Lo dejo como interrogante hasta el próximo post ;-).

No hay comentarios.: