2012-04-27 9 views
5

¿Existe un patrón de diseño que se preste a la creación de una base de componentes para ayudar a resolver problemas de Project Euler? He resuelto ~ 30 problemas, y creo que tendré que reutilizar la funcionalidad que se escribió previamente (por ejemplo, verificaciones de primalidad). En lugar de escribir métodos estáticos en una clase de utilidad, estaba pensando en tener una interfaz de calculadora, implementada por varias clases concretas que resolverán diferentes subproblemas. Podría entonces construir sobre eso a medida que resuelvo problemas cada vez más complejos, ¿tal vez? ¿Alguien tiene una buena sugerencia? Estoy resolviendo los problemas en Java.Proyecto Patrón de diseño de Euler

+3

¿Para qué fin? ¿Solo para obtener una sensación cálida y difusa de hacerlo de forma orientada a objetos (tm)? ¿Qué pasa con los métodos estáticos? – delnan

+0

Supongo que tienes razón. Simplemente parece que se puede escribir más elegentemente. Parece poco manejable tener una tonelada de métodos estáticos. –

+0

No creo que tengamos suficiente información para responder su pregunta. – toto2

Respuesta

9

Hay algunas funciones que son útiles varias veces, como para generar números primos. Puede mantener un archivo con funciones útiles en ellos. Más allá de eso, no creo que haya ningún beneficio. Los problemas del Proyecto Euler se refieren más a las matemáticas que a la programación compleja, y espero que si tiene que escribir mucho código lo está haciendo mal.

1

El patrón clásico para este tipo de cosas es el patrón de diseño de la plantilla, pero puede construirlo pensando en otros patrones de diseño como, por ejemplo, visitante, depende de sus necesidades y gusto. Puede encontrar útil este enlace: Template method pattern