Introducción
En esta página se publican ideas de diseño.
Core
Por Sebastián Queirolo:
Propongo una idea para comenzar a trabajar con los diferentes grupos de desarrollo.
De forma preliminar, un acercamiento a la solución sería:
Interfaz: La clase MainForm es la parte gráfica de la calculadora. Esta clase contiene métodos para recuperar el valor del display así como también cuál es la selección de la base y el tipo de grado. Luego tiene un evento por cada acción que se pueda disparar.
En las demás clases el manejo sería:
Tener un constructor que se le pase el form y ahí subscribirse a las acciones que se necesiten, Ej: (C#)
public OperacionesBasicas(MainForm form)
{
Suma += new EventHandler(ManejoAccionSumar);
//ManejoAccionSumar sería el handler
}Luego cada clase sabrá qué hace con el valor del display cuando se dispara cada acción a la cual se suscribió.
De esta manera logramos cierta independencia entre los diferentes módulos y se pueda trabajar en forma modular.
La única duda que me surge por ahora es que, en mi opinión, las operaciones básicas y lo referente a los cambios de base deberían ir juntos, pero no es lo que dice la ppt que dio el docente.
Envío una imagen para aclarar la idea. (En la foto la clae MainForm no tiene todos los eventos -acciones- necesarios).
Esta solución tiene muchos pros-contras que no vamos a discutir solo propongo una acercamiento a la solución.
Cualquier modificación o nueva idea es bienvenida.
Saludos.
Pros:
Contras:
- ¿Cómo se resuelve que las operaciones del core dependan de si se está trabajando en grados/radianes o la base numérica?