SlideShare una empresa de Scribd logo
1 de 18
Chapter 8. Organizing
Data(organización de datos).
Juan guillermo gallego rendon.
Id: 000151904.
Self Encapsulate Field (Autoencapsulacion)
Los Sets y Gets son la forma de acceder a atributos de una clase.
Generalmente, se usan con los atributos privados, ya que a los
públicos se puede acceder directamente sin tener que acudir a
ellos.
Replace Data Value with Object
(Reemplazar el valor con objeto)
• A la hora de desarrollar se utilizan variables, que al
implementarlas parecen sencillas, por ejemplo: declarar un String
NombreEstudiante, este pareciera que no tuviera mas atributos,
pero cuando usted se pone analizar la variable NombreEstudiante
pueden tener mas de un atributo como: IDEstudiante, Edad,
Semestre, NumeroCursos, etc.
• De esta manera resulta mas conveniente convertir esos valores en
objetos.
Change Value to Reference
(Cambiar valor a referencia)
• Se tienen muchas instancias de la misma clase de tal manera que
necesita ser reemplazado con un objeto.
• En varios sistemas los objetos pueden ser clasificados como
valores o referencias.
• Valores: en el mundo real corresponden a múltiples objetos en el
programa, por ejemplo: fechas, números telefónicos, colores,
direcciones.
• Referencias: en el mundo real corresponden a un solo objeto en el
programa, por ejemplo: una orden, un producto, un cliente.
Replace Array with Object
(Reemplazar un arrego con un objeto)
• Los arreglos son una excelente herramienta para almacenar datos
de un solo tipo, pero puede presentar el problema de que este
contenga varios tipos de datos, por ejemplo:
• La solución seria crear un objeto que separe los diferentes campos
por elemento
Duplicate Observed Data
(Datos duplicados observados)
• Cuando la GUI es responsable de los datos del dominio es una
buena idea separar los datos del problema en una clase aparte así
se podrán tener diferentes interfaces por ejemplo: de escritorio y
de móvil, sin tener ningún problema.
Change Unidirectional Association to Bidirectional
(Cambiar asociación unidireccional a bidireccional).
• Por defecto las clases vienen con una asociación unidireccional,
sin embargo con el paso del tiempo estas necesitan acceder a las
características de una clase a otra.
Replace Magic Number with Symbolic
Constant.
• El código emplea cierto numero que es utilizado varias veces en el
programa por lo cual puede generar problemas, debido a esto es
conveniente convertir ese valor en una constante.
Encapsulate Collection
(Encapsulamiento de colecciones).
• En muchas ocasiones las clases contienen instancias de
colecciones, las cuales deben tener un protocolo ligeramente
distinto al de otros tipos de datos, estas no deben tener getters,
debido a que el cliente puede manipular los datos sin saber que
esta haciendo. Precisamente por esto las colecciones solo
deberían ser de lectura con métodos add/remove.
Replace Type Code with Subclasses
• Se tiene una clase con varios tipos de datos que afectan
directamente el comportamiento de esta, debido a esto se
crearan subclases por cada tipo de dato extrayendo los
comportamientos relevantes del código original.
• Todo el flujo del código se da a través del polimorfismo.
Replace Subclass with Fields (Reemplazar
las subclases por campos).
• Se tienen subclases que solo se diferencian en las variables
constantes que devuelven los métodos, la solución seria
reemplazar estas subclases por campos en la clase padre y
eliminar las subclases
Chapter 8
Chapter 8

Más contenido relacionado

Destacado (10)

Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
 
Refactoring: improving the desing of existing code Cap 1
Refactoring: improving the desing of existing code Cap 1Refactoring: improving the desing of existing code Cap 1
Refactoring: improving the desing of existing code Cap 1
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Continuos Delivery
Continuos DeliveryContinuos Delivery
Continuos Delivery
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Expo 2 parametros
Expo 2   parametrosExpo 2   parametros
Expo 2 parametros
 
Continuos Delivery Commit stage
Continuos Delivery Commit stageContinuos Delivery Commit stage
Continuos Delivery Commit stage
 
Making method calls_simpler
Making method calls_simplerMaking method calls_simpler
Making method calls_simpler
 
[React-Native Tutorial] Map
[React-Native Tutorial] Map[React-Native Tutorial] Map
[React-Native Tutorial] Map
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 

Similar a Chapter 8

Yupa cesar 6_s_ti_1
Yupa cesar 6_s_ti_1Yupa cesar 6_s_ti_1
Yupa cesar 6_s_ti_1Cesar Yupa
 
Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2Cristina Huerta
 
Apache Cassandra
Apache CassandraApache Cassandra
Apache CassandraLuis Ojeda
 
Universidad tecnológica de tehuacá modelos
Universidad tecnológica de tehuacá modelosUniversidad tecnológica de tehuacá modelos
Universidad tecnológica de tehuacá modelosVictor Dolores Marcos
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionAlfonso Triana
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño IIkaolong
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETRoberto Taborda
 
Aguagallo doris 6_s_ts.1 (1)
Aguagallo doris 6_s_ts.1 (1)Aguagallo doris 6_s_ts.1 (1)
Aguagallo doris 6_s_ts.1 (1)Doris Aguagallo
 
Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Doris Aguagallo
 
Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Doris Aguagallo
 
Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Doris Aguagallo
 

Similar a Chapter 8 (20)

Bases de datos orientadas a objetos
Bases de datos orientadas a objetosBases de datos orientadas a objetos
Bases de datos orientadas a objetos
 
Yupa cesar 6_s_ti_1
Yupa cesar 6_s_ti_1Yupa cesar 6_s_ti_1
Yupa cesar 6_s_ti_1
 
Base de datos orientada a objetos
Base de datos orientada a objetosBase de datos orientada a objetos
Base de datos orientada a objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2
 
Apache Cassandra
Apache CassandraApache Cassandra
Apache Cassandra
 
Modelo entidad relacion jg
Modelo entidad relacion jgModelo entidad relacion jg
Modelo entidad relacion jg
 
Uml diagrama clase objeto
Uml diagrama clase objetoUml diagrama clase objeto
Uml diagrama clase objeto
 
Universidad tecnológica de tehuacá modelos
Universidad tecnológica de tehuacá modelosUniversidad tecnológica de tehuacá modelos
Universidad tecnológica de tehuacá modelos
 
Lumisaca hector 6_s_ti_1.pdf
Lumisaca hector 6_s_ti_1.pdfLumisaca hector 6_s_ti_1.pdf
Lumisaca hector 6_s_ti_1.pdf
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacion
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño II
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NET
 
Diagrama de casos
Diagrama de casosDiagrama de casos
Diagrama de casos
 
Uml diagrama claseobjeto
Uml diagrama claseobjetoUml diagrama claseobjeto
Uml diagrama claseobjeto
 
Aguagallo doris 6_s_ts.1 (1)
Aguagallo doris 6_s_ts.1 (1)Aguagallo doris 6_s_ts.1 (1)
Aguagallo doris 6_s_ts.1 (1)
 
Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1
 
Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1
 
Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1Aguagallo doris 6_s_ts.1
Aguagallo doris 6_s_ts.1
 

Último

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Último (11)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Chapter 8

  • 1. Chapter 8. Organizing Data(organización de datos). Juan guillermo gallego rendon. Id: 000151904.
  • 2. Self Encapsulate Field (Autoencapsulacion) Los Sets y Gets son la forma de acceder a atributos de una clase. Generalmente, se usan con los atributos privados, ya que a los públicos se puede acceder directamente sin tener que acudir a ellos.
  • 3.
  • 4. Replace Data Value with Object (Reemplazar el valor con objeto) • A la hora de desarrollar se utilizan variables, que al implementarlas parecen sencillas, por ejemplo: declarar un String NombreEstudiante, este pareciera que no tuviera mas atributos, pero cuando usted se pone analizar la variable NombreEstudiante pueden tener mas de un atributo como: IDEstudiante, Edad, Semestre, NumeroCursos, etc. • De esta manera resulta mas conveniente convertir esos valores en objetos.
  • 5.
  • 6. Change Value to Reference (Cambiar valor a referencia) • Se tienen muchas instancias de la misma clase de tal manera que necesita ser reemplazado con un objeto. • En varios sistemas los objetos pueden ser clasificados como valores o referencias. • Valores: en el mundo real corresponden a múltiples objetos en el programa, por ejemplo: fechas, números telefónicos, colores, direcciones. • Referencias: en el mundo real corresponden a un solo objeto en el programa, por ejemplo: una orden, un producto, un cliente.
  • 7. Replace Array with Object (Reemplazar un arrego con un objeto) • Los arreglos son una excelente herramienta para almacenar datos de un solo tipo, pero puede presentar el problema de que este contenga varios tipos de datos, por ejemplo: • La solución seria crear un objeto que separe los diferentes campos por elemento
  • 8. Duplicate Observed Data (Datos duplicados observados) • Cuando la GUI es responsable de los datos del dominio es una buena idea separar los datos del problema en una clase aparte así se podrán tener diferentes interfaces por ejemplo: de escritorio y de móvil, sin tener ningún problema.
  • 9.
  • 10. Change Unidirectional Association to Bidirectional (Cambiar asociación unidireccional a bidireccional). • Por defecto las clases vienen con una asociación unidireccional, sin embargo con el paso del tiempo estas necesitan acceder a las características de una clase a otra.
  • 11. Replace Magic Number with Symbolic Constant. • El código emplea cierto numero que es utilizado varias veces en el programa por lo cual puede generar problemas, debido a esto es conveniente convertir ese valor en una constante.
  • 12. Encapsulate Collection (Encapsulamiento de colecciones). • En muchas ocasiones las clases contienen instancias de colecciones, las cuales deben tener un protocolo ligeramente distinto al de otros tipos de datos, estas no deben tener getters, debido a que el cliente puede manipular los datos sin saber que esta haciendo. Precisamente por esto las colecciones solo deberían ser de lectura con métodos add/remove.
  • 13. Replace Type Code with Subclasses • Se tiene una clase con varios tipos de datos que afectan directamente el comportamiento de esta, debido a esto se crearan subclases por cada tipo de dato extrayendo los comportamientos relevantes del código original. • Todo el flujo del código se da a través del polimorfismo.
  • 14.
  • 15.
  • 16. Replace Subclass with Fields (Reemplazar las subclases por campos). • Se tienen subclases que solo se diferencian en las variables constantes que devuelven los métodos, la solución seria reemplazar estas subclases por campos en la clase padre y eliminar las subclases