elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Paradigma de programacion para este caso...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Paradigma de programacion para este caso...  (Leído 224 veces)
digimikeh

Desconectado Desconectado

Mensajes: 184


Ver Perfil
Paradigma de programacion para este caso...
« en: 8 Julio 2021, 07:12 am »

Hola amigos...

Estoy desarrollando un programa, y se esta volviendo un poco spaghetti, es un sistema de e-learning:

Tengo el siguiente escenario (para resumirlo):

Código:
class A{

     B objetoB;
     std::vector<C> objetosC;
    
};

class B{

     X objetoX;
     std::vector<Y> objetosY;
 

};

class  C { ...}
class X {...}

class Y {
 
     std::string palabra = "Hola";
}


//singleton.h
std::vector<A> todos_los_objetos_A;
std::vector<B> todos_los_objetos_B;




En mi caso son mas clases pero expuse esto para aislar mi duda...
encontrar un subobjeto Y y acceder a la variable "palabra" desde fuera se esta volviendo tremendamente tedioso... .. tan solo para modificar la palabra "Hola" a "Hello" (por ejemplo).. debo escribir lo siguiente:

Código:
singleton s;
s.todos_los_objetosA[0].objetoB.objetosY[2].palabra = "Hello";

Imaginar que el vector tiene 20 elementos al menos y que el total de clases son 10... y por si fuera poco, cada indice de vector debo calcularlo previamente tambien, luego una vez encontrado, debo excavar demasiado para modificar el bisnieto de una clase...  no se si hay alguna solucion para evitar esto, ya que es propenso a confusión y errores....  estuve pensando en deshacer las composiciones y dejar todos los vectores en singleton.h

Código:
//singleton.h
std::vector<A> todos_los_objetos_A;
std::vector<B> todos_los_objetos_B;
std::vector<C> todos_los_objetos_C;
std::vector<Y> todos_los_objetos_Y;

.. y acceder a los objetos de los subindices directamente en la raiz de la clase singleton...  esto rompe un poco el paradigma orientado a objetos pero me da la impresion de que es menos confusion...


Que harian en mi caso?  estoy usando base de datos.


Saludos.







« Última modificación: 8 Julio 2021, 07:16 am por digimikeh » En línea

Dungeons & dragons;
dragons.Attack();
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
abrir un proceso en el caso de que este no esté abierto.
Scripting
b01n4v3rt 2 1,814 Último mensaje 17 Junio 2007, 13:44 pm
por b01n4v3rt
Que ago en este caso? « 1 2 »
Ingeniería Inversa
<housedir> 14 4,520 Último mensaje 17 Enero 2010, 04:41 am
por MCKSys Argentina
¿Que lenguaje de programacion seran los mas populares para este año?
Programación General
bacanzito 0 771 Último mensaje 28 Junio 2014, 18:03 pm
por bacanzito
Caso de programación en c++ utilizando funciones
Programación C/C++
jeff23 2 1,143 Último mensaje 10 Octubre 2015, 17:43 pm
por daryo
Que Paradigma de programacion aprender primero
Dudas Generales
MarcosARG 9 2,136 Último mensaje 1 Marzo 2018, 10:30 am
por Orubatosu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines