2.1. Trabajo Escritto Actividad 2 - Implementación de Principios SOLID y Grasp
2.1. Trabajo Escritto Actividad 2 - Implementación de Principios SOLID y Grasp
2.1. Trabajo Escritto Actividad 2 - Implementación de Principios SOLID y Grasp
7 de Noviembre de 2021
2
Introducción
diferentes contextos de la vida real, las implementaciones también están compartidas en los
repositorios Github en donde se dejara el link de acceso con la finalidad de que el lector pueda
visualizar y tener una crítica sobre el desarrollo. Los principios serán explicados con ejemplos y
con teoría para que el lector no solo evidencie la información con ejemplos, también para tener
un punto de comparación con otras sintaxis y otros desarrollos realizados por otras personas.
1. Principios SOLID
3
SOLID es un conjunto de principios que están en una abreviatura en ingles según el principio,
Las aplicaciones de los principios harán del mantenimiento de un software una tarea mucho
más sencilla, una mejor forma para agregar nuevas funcionalidades al software, reusabilidad, y
Para este caso las clases deben de estar definidas con una tarea en específico y no tener dos
tareas en una sola clase, a continuación, se mostrará en la imagen 1 un ejemplo del mal uso, y
principio responsabilidad única ya que se está realizando una ejecución no solo de una suma
sino también de una resta dentro de la clase sumaDatos, en este punto hay un mal uso del
método y se requiere separar el método restarDatos en una clase independiente para que así
la clase sumarDatos tenga como única tarea sumar los datos ingresados por el usuario desde
la clase principal la cual instancio la clase sumarDatos para enviar los datos ingresados por el
En la imagen 2 se puede evidenciar el buen uso del principio Responsabilidad Única, las
entradas de los datos se generan desde la clase principal, existen dos clases más, una llamada
RUSumaDatos la cual recibirá los datos de usuario mediante una instanciación de la clase
principal, se asigna los atributos mediante un constructor para ejecutar mediante un método
una operación aritmética de suma, la resta realiza la misma metodología, lo único que cambia
es que esta abstraída en otra clase y cumple otra función, para este caso es la de restar los
datos que ingreso el usurario mediante un void retornar un valor de tipo entero(INTEGER).
7
Como se puede ver en la imagen 3, una vez se compila el programa para su ejecución, se
evidencia que la clase principal pide los datos al usuario, posterior mente los guarda en las
variables asignadas y las envía por medio de una instancia de la clase RUSumaDatos y
RURestaDatos, a su vez llama los métodos correspondientes que mostraran en consola los
resultados de las operaciones, para este ejemplo la suma y las restas ingresados por consola.
Una clase preparada por el desarrollador debería estar disponible para extender de la clase los
métodos y atributos almacenados, sin que estos puedan mover o modificar la clase que se
extiende, para ello se verá a continuación en la imagen 3 el mal uso de este principio.
8
Para este caso se tomará el resultado de la suma y el valora ingresado por el usuario,
número par o impar, el problema es que el método se encuentra junto con el método
restarDatos, por ende, se está realizando un mal uso, ya que está utilizando la misma clase y
sumarDatos sin que este mismo pueda afectar los atributos del método sumarDatos, para
finalizar, se realiza el modulo entre resultado y valora ingresado por el usuario por consola los
cuales determinaran mediante una condicional si el numero es par o impar, en la clase principal
heredando la clase sumarDatos por ende ya trae encapsulada la operación aritmética de sumar
los datos pero de la cual el método moduloDatos no puede modificar sus valores iniciales.
10