videos tutorial programacion programa orientado orientada objetos hacer ejemplo desde curso como codigofacilito cero oop

oop - orientado - video tutorial de programacion orientada a objetos en java



Aprender a pensar en el Camino Orientado a Objetos (3)

  1. Lea el código de otras personas: personas que usted conoce son buenos desarrolladores
  2. Libros / artículos que enseñan el "uso idóneo" del idioma
  3. (Evite cualquier cosa con las palabras "en 21 días")

Soy un programador que intenta aprender a codificar en el paradigma orientado a objetos ... Principalmente trabajo con PHP y pensé en aprender el framework zend ... Entonces, sentí que necesitaba aprender a programar en OO PHP ....

El problema es que, habiendo hecho código usando funciones durante bastante tiempo, simplemente no puedo hacer que mi cabeza piense de la manera OO ....

También sentí que probablemente no soy el único que enfrenta este problema desde el principio de los tiempos ...

Entonces, ¿cómo aprendieron ustedes la programación orientada a objetos ... especialmente cómo lograron "desaprender" el código usando funciones ... y aprendieron a ver su código como objetos ...?

¿Hay buenos libros de recursos o sitios donde uno pueda encontrar ayuda ...?

Gracias por compartir tus conocimientos y experiencias ...


He estado haciendo desarrollo de software con OO durante más de 20 años, y puedo decirle que mirar el código de otras personas a menudo le enseñará cómo hacer la programación de procedimientos en un lenguaje orientado a objetos.

Lo que recomendaría es utilizar las siguientes técnicas, que si se aplican liberalmente, te obligarán a usar técnicas OO, aunque es posible que aún no te des cuenta de ellas.

  1. No copie y pegue el código, nunca.
  2. Cree clases que representen las cosas de las que habla al hablar sobre la funcionalidad; por ejemplo, un sistema de entrada de pedidos tendrá Órdenes, Clientes, Cuentas, Artículos de pedido, Artículos de inventario, etc.
  3. Al crear estas clases, NO codifique ningún conjunto público y obtenga métodos para acceder a los miembros de datos de la clase.
  4. Agregue métodos a estas clases de modelo de dominio que realizan el trabajo en el objeto en cuestión. Order.invoice (), account.close (), InventoryItem.decrement (). La falta de métodos get públicos le mostrará la ubicación correcta del código (donde están los datos, en el objeto de dominio apropiado). Recuerde, un objeto son los datos y el código que opera en él, cualquier cosa menos que ambos no es un objeto.
  5. Eventualmente descubrirá que tiene que agregar algunos métodos de obtención pública para algunos miembros de la clase, y eso está bien, simplemente espere hasta que se lo obliguen a hacerlo. Agregar de mala gana los métodos de obtención pública.
  6. En el nivel de la aplicación, casi todas las líneas de código deberían estar moviendo montañas. En otras palabras, la mayoría de las líneas de código en el nivel de aplicación deberían invocar métodos de modelo de dominio.
  7. Ponga toda la funcionalidad en los objetos del modelo de dominio, luego exponga esa funcionalidad en una aplicación conectándola a una interfaz de usuario. Repito, ponga la funcionalidad en el modelo de dominio, no en la aplicación.

Si sigues estas pautas, definitivamente estarás produciendo código orientado a objetos, y probablemente a un nivel mucho más alto de competencia que muchos desarrolladores experimentados.

Finalmente, evite la inyección, es decir, Spring, Unity, etc. Probablemente haya un puñado de casos válidos para usar inyección: la mayoría de los usos surgen de la falta de experiencia de diseño orientada a objetos. Como una guía sobre si inyectar o no, considere con qué frecuencia es probable que cambie lo que está pensando en inyectar. En muchos casos, creo que lo que se inyecta nunca cambiará; en estos casos, lo único que se inyecta es una sobrecarga pura.

¡Buena suerte!


Toma tiempo.

Pasar de la programación de procedimientos a la orientación a objetos es difícil. En estos días, muchas personas comienzan con orientación a objetos, por lo que no luchan con este cambio de paradigma.

  • Conozca los fundamentals de OOP y siga refiriéndose a ellos para empezar.
  • Lea el código OO: hay muchos proyectos de código abierto que puede probar.