Orientada a Objetos o Estructurada?

sap-abap
Etiquetas: #<Tag:0x00007f11003a4ab8>

#1

Buen día comunidad,

Soy nuevo en ABAP, he visto códigos fuentes de algunos compañeros y por lo general algunos desarrollan en POO y otros en Estrusturada. En lo particular prefiero desarrollar en Estructurada, ustedes que me recomiendan?

Gracias y saludos.


#2

Depende de lo que vas a desarrollar, por ejemplo para realizar un Reporte ALV, podes hacerlo mediante una llamad a una función, siempre que desees hacer un ALV “básico”, o podrias hacer un ALV mediante Objetos y poder acceder a mas opciones para crear el ALV.
Te recomiendo que te familiares con los objetos y tambien con las funciones.


#3

Como recomendación, te diría que aprendieses ambos paradigmas para que te formes tu propia opinión. La programación estructurada se percibe más natural al principio porque se basa en un proceso que en matemáticas se conoce como Functional Decomposition, donde una función es reducida a una serie de funciones discretas más pequeñas que son más fáciles de entender. Desde la perspectiva de programación, este proceso se traduce en descomponer un problema complejo en una serie de pequeños problemas, donde el elemento mínimo de abstracción es la subrutina.

Esto funciona bien para programas pequeños o medianos, pero este paradigma se queda corto en situaciones de mayor complejidad: Las subrutinas se hacen demasiado largas, el programa principal tiene demasiadas responsabilidades, en consecuencia el mantenimiento se complica bastante, entonces un cambio pequeño en una parte del programa puede tener efectos secundarios no deseados en otra.

Otro problema de este paradigma es que fuerza a los desarrolladores a enfocarse en base a la estructura de una computadora en lugar de concebir las soluciones en base a la estructura del problema. La programación orientada a objetos permite modelar el código de tal forma que sea posible simular el mundo real, creando abstracciones que representen la relación entre las distintas entidades que pueden existir en el problema - ejemplo: un objeto orden de ventas que contiene objetos materiales y esté destinada a un objeto cliente.

Una vez que empieces a mirar el mundo a través de objetos, te abrirás a toda una gama de nuevas posibilidades. La reusabilidad de código es verdadera reusabilidad en lugar de copy-paste. El conocimiento se puede extrapolar fácilmente a otros lenguajes de programación. El ABAP plano está perdiendo relevancia dentro del universo SAP, no hay ningún elemento dentro del nuevo esquema de programación en SAP que se base en programación estructurada. Si tu objetivo es mirar al futuro, adaptarte a los cambios y no quedarte estancado en el pasado, entonces te conviene invertir la mayor parte de tu tiempo es programar en objetos.


#4

La respuesta a ello es simple, primero comprender que es la programación orientada a objetos (OOP) en cualquier lenguaje de programación.

La OOP, hace que un objeto sea la abstracción de un hecho real (auto, persona, animal, banco, etc) donde sus atributos (características del auto) y metodos (actividades/comportamiento del auto).

Con lo anterior mencionado, versus una programación estructurada, que es más lineal, sacarás provecho cuando tengas casos complejos, donde tengas que aplicar dichos concepto; además la performance es una ventaja del OOP.

Las características son:

Abstracción
Encapsulamiento (Nivel de protección)
Polimorfismo (Comportamiento diferente)
Herencia (Padre-Hijo)

Saludos.


#5

Sencillamente la mejor respuesta es estar a la vanguardia y eso es POO, una vez que lo usas te das cuenta de que el mundo en general función así o mucho mas complejo, ahora la pregunta seria estar estar a la vanguardia o no… eso seria dependiendo de las necesidades de tu trabajo.

image


#6

Entre gustos y colores no han escrito los autores. Sin embargo en lo personal me inclino por POO (o OOP en inglés). Inicialmente en SAP la programación era estructurada pero cada vez más el paradigma ha cambiado a POO.
Si te estás iniciando en SAP y no conoces de OO quizá te cueste un poco al principio porque se basa en la abstracción, pero una vez te familiarices creo que no la dejarás jeje.
Por qué POO? Te permite modelar más facilmente los escenarios de negocios a nivel abstracto que necesites.


#7

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.