En la programación orientada a objetos (específicamente desarrollo web: Laravel), ¿existe una convención en la que tenga un método singular para múltiples acciones?

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.

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.

En general no. Por lo general, desea funciones que hagan una cosa y solo una cosa. Esto facilita muchas cosas (principalmente la depuración).

Habrá casos en los que no podrá evitar largos bloqueos si / si más / más, sin embargo, generalmente desea hacer todo lo posible para eliminarlos y, como mínimo, si no puede eliminarlos, mueva lo que sea “hacer algo” y el código “hacer otra cosa” está fuera para separar las funciones.

More Interesting

¿Es posible ganarse la vida como programador independiente o desarrollador web?

¿Cómo puede aumentar el SEO para su sitio web de WordPress si no hay mucho contenido en él?

¿Cómo te enseñaste desarrollo web?

¿Cuáles son buenos ejemplos de galerías de videos HTML?

¿De qué sirve el diseño web y el desarrollo web para un sitio web?

Cuando una persona paga a otra para diseñar un sitio web, ¿qué tipo de pautas se dan?

He estado aprendiendo JavaScript estos días. Me sorprende el gran potencial de este lenguaje. ¿Por qué la gente se queja tanto? ¿Es tan difícil de depurar como dice la gente? ¿Qué utilizas para depurar JavaScript?

Cómo cargar la página con vista

En este momento estoy usando CyberSource, pero estoy considerando otras pasarelas de pago emergentes como Braintree y Stripe. ¿Alguien puede proporcionar un análisis detallado, especialmente desde la perspectiva de un desarrollador?

¿Qué es mejor jQuery, MooTools o Prototype?

¿Cuánto gana un desarrollador web remoto?

¿Cuáles son algunos de los principales problemas en el campo del desarrollo web que podrían solucionarse o mejorarse?

¿Alguien puede recomendar algunos servidores de sitios web seguros, gratuitos y de pago que tengan PHP?

¿Cómo convertirme en diseñador y desarrollador web independiente si conozco HTML5 básico, CSS, un poco de JavaScript y Bootstrap? ¿Es esto lo suficientemente adecuado para convertirse en desarrollador web?

¿Cuáles son los diferentes idiomas utilizados para el desarrollo web?