Está en la página 1de 7

UNIVERSIDAD NACIONAL DE UCAYALI

“Año del Fortalecimiento de la Soberanía Nacional”

Facultad De Ingeniería De Sistemas E Ingeniería Civil


Escuela Profesional De Ingeniería De Sistemas

T2: INVESTIGACION DE PATRONES DE DISEÑO

CURSO: DISEÑO DE SISTEMAS


CICLO: VI
DOCENTE: ING. MG. DIANA DIAZ ESTRADA”

ESTUDIANTE: PAREDES MACEDO ROMEL

PUCALLPA – PERÚ
2021
1.PATRONES DE DISEÑO
Los patrones de diseño son soluciones y técnicas para resolver problemas en el desarrollo de
software referente al diseño de interacción o interfaces. Para que una solución sea
considerada patrón contiene características, en primer lugar, su efectividad debe ser
comprobado en problemas similares de problemas de diseño.

PATRONES CREACIONALES

• SINGLETON: Asegura la existencia de una sola instancia y la creación de métodos de


acceso global a dicha instancia.

• FACTORY: Concentra en una clase constructora la creación de objetos de un subtipo de


un tipo determinado.

• OBJECT POOL: Crea un conjunto de objetos inicializados preparados para uso.

• ABSTRACT FACTORY: Se puede trabajar con objetos de distintas clases por el cual que
las clases no se mezclen entre si y haciendo referente de forma concreta con que clase
se está usando.

• BUILDER: Abstrae el proceso de creación de un objeto completo.

• PROTOTYPE: Crea nuevos objetos clonándolos de una instancia ya existente.

PATRONES ESTRUCTURALES

• ADAPTER: Adapta una interfaz para ser utilizada por una clase de otro modo no podría
utilizar.

• DECORATOR: Añade funcionalidad a una clase dinámicamente.

• BRIDGE: Desacopla una abstracción de su implementación.

• COMPOSITE: Se puede tratar objetos compuestos como si de uno simple se tratase.

• FACADE: Provee una interfaz unificada para acceder a interfaces de un subsistema.

• FLYWEIGHT: Reduce la redundancia cuando la cantidad de objetos poseen idéntica


información.

• PROXY: Proporciona un intermediario de un objeto para controlar su acceso.

• MODULE: Agrupa varios elementos relacionados como clases, utilizados en una


entidad única.
PATRONES DE COMPORTAMIENTO

• OBSERVER: Define una dependencia de uno-a-muchos entre objetos, cuando un objeto


cambie de estado se notifique y se actualicen automáticamente.

• STATE: Se puede que un objeto modifique su comportamiento cada vez que cambie su
estado interno.

• COMMAND: Encapsula una operación de un objeto.

• INTERPETER: Se tiene un lenguaje, define una gramática para dicho lenguaje.

• ITERATOR: Se puede realizar recorridos sobre objetos compuestos independiente de la


implementación de estos.

• MEDIADOR: define un objeto que coordine la comunicación entre objetos de distintas


clases.

• MEMENTO: Permite volver a estados anteriores del sistema.

• STRATEGY: Se dispone de varios métodos para resolver un problema y elegir que se


utilizara en la ejecución.

• VISITOR: Permite definir nuevas operaciones sobre una jerarquía de clases sin
modificar las clases sobre los que se opera.
2. REPOSITORIOS DE CODIGO
Los dos repositorios de código mas utilizados son GitHub y SVN:

GitHub

¿Qué es?

Es un lugar que se almacena y se puede realizar la distribución del código de una aplicación o
programa. Contiene un servidor que utiliza sistemas de control de versiones, también contiene
las diferentes versiones de la aplicación o programa, disponiendo un historial de cambios
realizados y cada nueva versión. Los usuarios pueden rastrear y gestionar los cambios que se
realizan al código fuente en tiempo real.

FUNCIONAMIENTO:

GitHub ofrece un plan básico gratuito que incluye repositorios y colaboradores ilimitados, pero
solo de 500 MB de almacenamiento, si quieres todas funciones de GitHub puedes suscribirte a
sus planes de pago: Team, Enterprise.

COMO EMPEZAR EN GITHUB

• Crear un repositorio, pueden ser archivos que contengan código, imágenes, etc.
• Crear ramas, esto genera diferentes versiones de un repositorio.
• Entender los commits, estos se denominan los cambios guardados en GitHub, cada vez
que se cambie el archivo, se realiza un commit para mantenerlo.
• Crear solicitudes de extracción, permiten ver las diferencias entre le proyecto original
y la rama de características.

Ejemplos de uso:

Desarrolladores de proyectos de software.

Las compañías de contenido y marketing utilizan para organizar sus proyectos


3. CONVENCIONES DE NOMBRES
Conjunto de reglas y normas para un lenguaje de programación en específico, que
recomiendan estilos de programación, para la secuencia de caracteres que se utilice para
los identificadores y métodos para mantener el aspecto del código fuente. Estas
convenciones incluyen la organización de archivos, nombres descriptivos, Índices y
contadores, constantes, clases y variables, estilo de nombrado.

CAMEL CASE:

Se debe a que las mayúsculas a lo largo de una palabra en CamelCase se asemejan a las
jorobas de un caballo.

Existen dos tipos:

• UpperCamelCase, cuando la primera letra de cada una de las palabras es


mayúscula. Ejemplo: MiInterfazDeProgramacion.

• lowerCamelCase, igual que la anterior con la excepción de que la primera letra es


minúscula. Ejemplo: miInterfazDeProgramacion.

Snake_case: las palabras se separan con un guion bajo y se escriben siempre en


minúsculas. Ejemplo: precio_producto

Kebab-case: las palabras se separan con un guion normal y se escriben en minúsculas.

Ejemplo: precio-producto

Dot.case: las palabras van en minúsculas separadas por puntos. En javascritp no se


puede usar. Ejemplo: precio.producto

Húngara: prefijo en minúsculas que indica de dato seguido de las palabras (n= numero,
t = texto), esta notación fue muy utilizada por Microsoft.

Ejemplo: nPrecioPorducto
4. BEST PRACTICE IN PROGRAMMING

• Organizar el código, es importante para mantener durante el proceso de


desarrollo un proyecto saludable y con unos costes de mantenimientos
controlados.
• Comentarios en el código, cuando un programador tiene que realizar
mantenimientos o escalar código que no entiende y que no esta comentado.
En ligar de reutilizarlo, reescribe la funcionalidad solo con tal de evitarse
aprender cómo funciona.
• Principio de la simplicidad KISS, se aplica: leerlo de otros, escribir lo mejor que
sepamos, releer nuestro código, mejorarlo.
Dos técnicas para hacer el código más legible y sencillo:

PARTICIONADO: Se basa en el principio de dividir secciones grandes de código


en partes más pequeñas, lo que hace las secciones más comprensibles.

SIMPLIFICACION: Se basa en el principio de hacer el código mas comprensible


eliminando todo aquello que no sea útil o modificando para hacerlo mas
sencillo.

• Principio de no malgastar esfuerzo, YAGNI, Realizar el análisis de los requisitos


del proyecto sin tener en mente el objetivo final, produce siempre como
resultado un exceso de funcionalidad.
• Principio básico de una programación elegante, DRY, se aplica de forma
eficiente, los cambios necesarios solo se necesita hacerlos en un solo lugar.
• Optimización del rendimiento
1. Conocer los recursos de hardware del cliente.
2. Conocer el rendimiento esperado por el destino y definir los criterios
de aceptación de nuestra aplicación.
3. Realizar pruebas de rendimiento en entorno que simule el hardware
mínimo.
4. Hacer pruebas reales.

• Control de la seguridad.
• Análisis de riesgos
• Control de errores
• Reutilización

También podría gustarte