Catecbol www.catecbol.com
Capacitación Tecnológica Científica para Bolivia facebook.com/catecbol
@catecbol
Programación Orientada a Objetos en Java Saúl Medrano Estados Unidos
La unión es la fuerza
[email protected]
Introducción Personal – Saul Medrano Universidad pregrado: Universidad Distrital Francisco José de Caldas, Colombia Universidad postgrado (M.Sc.): Universidad de Maryland Baltimore County,
Estados Unidos
Área de Experiencia: Software Development Trabajo : Carfax, full Stack developer País de residencia: Estados Unidos
Contenido • Introducción a la programación orientada a objetos. • Arquitectura de una aplicación MVC. • Frameworks comúnmente usados en JAVA
Herramientas necesarias • Java SE Development Kit (JDK) • IDE: Aplicación informática que ayuda al desarrollo de software • Eclipse • IntelliJ • Github: Repositorio, donde los usuarios pueden colaborar entre ellos • https://github.com • Git: Software de control de versiones.
Paquetes en Java • Contenedor de clases, que las agrupa de acuerdo a cierta funcionalidad. En nuestro programa se representa por una carpeta
Java Clases • Tipos de datos primitivos • Ejemplo: int , long, float… • Clases • Son prototipos que vamos a usar para crear objetos • Plano • Atributos y métodos • Objetos: • La implementación de tales clases • Componentes auto-contenido • Instancia: • Representa objetos • Se usa la palabra new para crear diferentes instancias de una clase
Java Herencia • Adquirir los atributos y métodos de otra clase. • Palabra clave: • extends • Abstracción y Encapsulación • No se sabe que pasa en su interior • No se conoce el valor de los atributos y estos solo pueden ser accedidos por métodos: • Getters and setters
Java polimorfismo • Polimorfismo en tiempo de ejecución (runtime) • Comportamiento de un métodos basado en el objeto que se esta usando • Overload: métodos con el mismo nombre pero con diferentes parámetros • Override: metodos iguales(name and parameters) en la clase padre y en la subclase
Arquitectura cliente servidor.
Arquitectura de una aplicación MVC en java usando Spring. • Vista: presenta información al usuario • Html, Xml, jsp pages
• Controlador: maneja las peticiones y las respuestas HTTP • Modelo: se maneja datos • Service clases y Java Beans, Dao Clases
Spring: Controlador en Spring • Anotaciones: METADATA • @RestController public class AccountController { @Autowired private AccountService accountServiceImpl; @RequestMapping(value = "findByAccountId", method = { RequestMethod.GET }, produces = { MediaType.APPLICATION_JSON_VALUE }) public ResponseEntity findAccountById(@RequestParam(value = "accountId") long accountId) {}
Spring: Clase de la lógica del negocio • @Service @Transactional public class AccountServiceImpl implements AccountService{ @Autowired private AccountDao accountDaoImpl; public AccountDto findAccountByUserId(long userId) { }
Spring: Bean • @Entity public class Account { private long id; private double balance; private User user; Getters and setters… }
Spring: Dao Clases • @Repository public class AccountDaoImpl implements AccountDao { @Autowired private SessionFactory sessionFactory; public Account findAccountById(long id) { return (Account) sessionFactory.getCurrentSession().createQuery("from Account where id = :id").setLong("id", id) .uniqueResult(); } }
Requisitos basicos de una aplicación empresarial. • Esta totalmente cubierta por pruebas • Mockito, Junit, Spock, metodología TDD
• Validación • Front End (JavaScript) • Back End
• Esta construida por una Herramienta para construir aplicaciones: • Maven, Gradle • Accede diferentes bases de datos y clientes. • Sql, NoSql
• Seguridad • Spring Security
• ORM frameworks • Hibernate
Para tener en Cuenta! • JAVA FRAMEWORKS: Spring, Spring Boot • Groovy • Protocolo HTTP y Servlets • JavaScript FRAMEWORKS: Jquery, ReactJS, AngularJS • Security: Spring Security • Web Services: Resful webservices, Soap web Services • Testing:TDD, Spock, Junit, Mockito • Aplicaciones para construir aplicaciones • Gradle, maven • Version control: Git • Datos: xml, Json
GitHub
•https://github.com/omedranoc/Cate cbol/tree/Polimorfismo/Catecbol/src /com/catecbol
Catecbol www.catecbol.com
Capacitación Tecnológica Científica para Bolivia facebook.com/catecbol
Gracias
[email protected] Saul Medrano
La unión es la fuerza
@catecbol
[email protected]