presentacion catecbol

15 abr. 2017 - Esta construida por una Herramienta para construir aplicaciones: • Maven, Gradle. • Accede diferentes bases de datos y clientes. • Sql, NoSql.
902KB Größe 17 Downloads 105 vistas
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]