domingo, 1 de octubre de 2017

SENTENCIAS

Las sentencias en programación orientada a objetos, se introducen dentro de un archivo, sin las sentencias el interprete ejecuta las sentencias de principio a fin conforme le aparecen.  Las sentencias de control de flujo se utilizan para ejecutar sentencias condicionalmente, cambiar el rumbo de la ejecución o, repetir un conjunto de sentencias.

Hay sentencias condicionales o selectivas, allí encontramos:

-Switch.
-If-Else.

El SWITCH en java es una sentencia que se utiliza para elegir una opción entre varias o de una expresión simple llamada "expresión de control", no puede ser de tipo double o string. La expresión de control, es evaluada y comparada en cada etiqueta denominada "case", dicha etiqueta tiene un valor diferente, cada sentencia se ejecutará hasta encontrar un break.
Para alterar una sentencia de selección múltiple, existe la sentencia break, la cual finaliza con el bucle, esta sentencia va acompañada de un punto y coma, como la ejecución termina al encontrar un break, los demás "case" se tomarán en cuenta en la siguiente ejecución del programa fuente, hasta encontrar un break.



UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

sábado, 30 de septiembre de 2017

INTERFACES

En programación orientada a objetos las interfaces constituyen un conjunto de métodos abstractos y de constantes teniendo como finalidad determinar el funcionamiento de una clase, pueden tener visibilidad public o package.

CARACTERÍSTICAS

- Sus métodos no pueden ser estáticos por lo que se encuentran re definidos.
- Sus métodos son public y abstract.
- La interfaz puede ocultar constantes y métodos de otras interfaces.
- Las clases que tengan una interfaz deben definir todos los métodos de esta.
- Una clase puede implementar una o más interfaces.
- Para generar herencia entre las interfaces se pone la palabra extends y el nombre de las interfaces que se desean separadas por comas.
- No se pueden crear objetos de esta utilizando "new".
- Todos los nombres de constantes van en mayúsculas.
- No se pueden instanciar.
- Sólo permiten atributos con "public static final".


Por ejemplo:

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS.

domingo, 24 de septiembre de 2017

SOLID III

Finalmente de los principios SOLID tenemos:

I- Interface Segregation (Segregación de interfaces).

Es un principio formulado por Robert Martin y es muy parecido al primero.
Un cliente no debe estar obligado a implementar interfaces que no usa. Muchas interfaces específicas son mejores que una única mas general.

Cuando un cliente depende de una clase que implementa una interfaz cuya funcionalidad este cliente no usa pero que otros clientes si usan, este cliente esta siendo afectado por los cambios que realicen otros clientes en la clase en cuestión. Se debe evitar este tipo de acoplamiento cuando sea posible y esto se consigue separando las interfaces en otras mas pequeñas y especificas.


D- Dependency Inversion (Inversión de Dependencias). 

Fue definido por Robert Martin con el objetivo de desacoplar las clases, en todo diseño debe existir un acoplamiento pero hay que evitarlo en lo posible, puesto que un sistema con alto acoplamiento es muy difícil de mantener.

Las clases de alto nivel no deberían depender de las de bajo nivel, ambas deberían depender de las abstracciones. Las abstracciones no deberían depender de los detalles sino al contrario.




UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

SOLID II

continuando con los principios SOLID, tenemos:

O- Open/Closed (Abierto/Cerrado).

Se utiliza con el fin de no limitar el software a una única versión. Es un principio atribuido a Bertrand Meyer el cual consiste en crear clases extensivas sin necesidad de entrar al código fuente a modificarlas, lo complicado de esto es hallar por donde extenderla. La forma mas común es por medio de herencia, aunque existe otra alternativa en la que se utilizan métodos que acepten una interfase de tal modo que se ejecute cualquier clase que implemente esta interface.

Las entidades software (clases, módulos, funciones) deben:

-Estar abiertos para su extensión, y su comportamiento puede ser extendido por otras clases.
-Estar cerradas para la modificación, el código fuente debe permanecer inalterado.




L-Liskov Substitution (Sustitución Liskov).

Este principio fue creado por Barbara Liskov y trata de la importancia de crear todas las clases derivadas para que estas sean también apropiadas como la clase base.

Las funciones que usen punteros o referencias a clases base deben ser capaces de usar objetos de clases derivadas sin conocerlos. Esto quiere decir que si tenemos una clase y varias subclases de esta, al usar una referencia a la clase principal, esta debe ser capaz de aceptar cualquier objeto de sus clases hijas.


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

SOLID

En programación orientada a objetos existen principios básicos, SOLID en este caso es un acrónimo inventado por Robert Martin que explica 5 principios básicos de la programación relacionados con la alta cohesión y el bajo acoplamiento. Siempre en programación se trata de tener un buen diseño, para facilitar los casos del almacenamiento, modificación de un código antiguo y mantenimiento.

SOLID generalmente se divide en dos partes, sus dos primeras letras, SO están enfocadas a la alta cohesión y por otra parte LID enfocada en el bajo acoplamiento. El significado de su acrónimo es:

ALTA COHESIÓN
S = Single Responsability (Responsabilidad simple).
O = Open/Closed (Abierto/Cerrado).

BAJO ACOPLAMIENTO
L = Liskov Substitution (Sustitución Liskov).
I = Interface Segregation (segregación de interfaces).
D = Dependency Inversion (Inversión de Dependencias).


Cada uno constituye un significado de gran importancia.

S-Single Responsability (Responsabilidad simple).

Este principio trata de destinar una finalidad sencilla y concreta a cada clase. Una clase solo puede tener una y solo una única causa por la cual puede ser modificada (tiene solo una razón de cambio).
En el caso de que al modificar una clase tiene dos responsabilidades  se deben separar respectivamente en dos clases.

Surge un problema al momento de necesitar utilizar un método en otra clase, porque si no se refactoriza, se creará una clase destinada a la finalidad de ese método.


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


domingo, 17 de septiembre de 2017

XAMPP

 XAMPP, es una herramienta de desarrollo que nos permite probar un proyecto o página web en el ordenador sin necesidad de acceder a internet, además es un servidor independiente de plataforma de código libre, es gratuito y consigo trae el servidor web más famoso que es Apache, bases de datos como MySQL y SQLite, incluye PHP que es un lenguaje de programación, entre muchas otras cosas.

Es un sistema de gestión de base de datos. El nombre XAMPP es un acronimo conformado por:

X: cualquiera de los distintos sistemas operativos
A: apache.
M: MySQL.
P: php.
P: perl.

XAMPP está disponible para sistemas operativos como Windows, Linux, MAC o Solaris.

Su instalación es muy sencilla y ligera, al ejecutar el programa se debe prender el servidor Apache.
la dirección o URL que maneja para encontrarlo en tu ordenador es "localhost:80" si ya tienes el servidor configurado podrás hallar tu página adicionando dos números que hayas escogido, como por ejemplo "localhost:8080".

Así se verá una vez instalado XAMPP.


Adjunto les dejo un archivo para que descarguen XAMPP en sus servidores, es muy sencillo y rápido.

                                https://www.youtube.com/watch?v=nZyn-7S8ivc

                   UNIVERSIDAD DISTRITAL  FRANCISCO JOSÉ DE CALDAS

sábado, 16 de septiembre de 2017

DIAGRAMAS DE SECUENCIA

Son un tipo de diagramas UML, que sirve para la interacción entre objetos de un sistema a través del tiempo, se moldea usando casos de uso de un sistema.

La clase describe el comportamiento del objeto, en la activación se describe o representa el tiempo en el cual un objeto realiza una tarea, los mensajes entre objetos son representados con flechas, hay mensajes sincrónicos y a sincrónicos, los primeros necesitan la respuesta inmediata y los a sincrónicos son aquellos los que no esperan una respuesta para continuar con su acción.
Las líneas de vida indican la presencia de un objetos en el tiempo.

También está presente la destrucción de objetos con simplemente una etiqueta acompañada de una flecha. Los diagramas de secuencia son útiles al momento de complementar un diagrama de clases.


Adicional adjunto un vídeo acerca de dichos diagramas, espero lo disfruten.

https://www.youtube.com/watch?v=AnztpKs9TZo

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS