Eso no es realmente un patrón orientado a objetos. Esa es solo una lista de decisiones, y es una construcción bastante básica. Simplemente está if/elsif/else
una función alrededor de una if/elsif/else
o switch-case
.
Sería muy difícil escribir un programa no trivial sin usar alguna forma de él. Si es una buena idea en un caso particular depende de si la abstracción es útil.
Un enrutador de URL podría ser un ejemplo de un método que realiza diferentes acciones, dependiendo de la entrada (una URL). Aunque un enrutador útil le permitiría agregar rutas dinámicamente en lugar de codificar todos los casos individuales.
- Cómo comenzar a aprender programación y desarrollo web a través de internet
- ¿Cuál es la diferencia entre ASP y GSP?
- ¿Es cierto que WordPress se está alejando de PHP hacia JavaScript?
- A la mitad de JavaScript, ¿debería pasar a Python o seguir con JavaScript?
- ¿Cómo alojamos un sitio web que desarrollamos usando Node.js?
En cualquier caso, tiene sentido ya que, aunque desee realizar diferentes lógicas comerciales para diferentes URL, todo lo anterior y posterior es más o menos lo mismo. Es decir, realiza un preprocesamiento en su punto de entrada (arranque, gestión de sesión, carga de datos de usuario, etc.) => enruta la solicitud al método de controlador adecuado => carga la plantilla adecuada => renderiza la plantilla => búfer de salida de descarga .
Ahora, lo siguiente probablemente no sería una buena idea:
función find_user_or_send_email ($ input mixto) {
if (is_object ($ input)) {
devolver send_email (
$ input-> destinatario, $ input-> asunto, $ input-> mensaje
);
} más {
return find_users ($ input);
}
}
Casi no hay un caso de uso válido para escribir dicha función. Encontrar un usuario y enviar un correo electrónico no son acciones similares. No tiene ningún valor combinarlos en una sola función.
Por último, diré que a la mayoría de los programadores no les gusta escribir grandes pilas de condicionales. A veces es difícil de evitar. En otras ocasiones, se puede evitar mediante el uso de polimorfismo.