Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]applicazione piu o meno oop

    ciao.
    parto con la domanda:
    1)ho una serie di forme 2d che devono essere estruse in 3d e hanno le proprietà necessarie per estrudere che sono piu o meno le stesse , quello che è diverso è il modo di estrarre queste informazioni(che è comunque precedente all estrusione e non relazionato con questa) e il modo di estrudere dalle proprietà.

    premessa:
    penso (e forse sbaglio) che un applicazione ad oggetti possa essere piu o meno oop spinta.
    mi chiedo se è sempre meglio spingere al massimo su questa astrazione,(l'oop), ho visto che a volte non è necessario e invece a volte è indispensabile , premetto che di tempo ne ho e posso fare le cose bene ma indipendentemente da questo mi sembra che a volte "spingere" troppo sia controproducente , quasi una malattia , un brutto metodo.

    dopo queesta premessa chiedo:
    sia meglio creare un tipo base CExtruder e creare una factory con un parametro intero del tipo di estrusione che crea il tipo derivato(factory method?) e nel tipo derivato avere ad es una funzione estrudi che sia polimorfica nelle varie implementazioni delle forme relative al parametro.

    mi chiedo se puo essere una buona implementazione , ma puo essermi utile?
    In che senso?

    per es se una forma in piu viene aggiunta basta derivare da CExtruder e aggiungere un parametro al factory method?


    chiedo a voi è un esempio , mi è capitato e l'ho fatto ad oggetti e forse non è neanche tanto spinto.

    scusate se dico degli strafalcioni , e correggetemi ma ho notato questa cosa della "sovra programmazione".

    ciao.

  2. #2
    Prima di tutto chiediti se aumentare l'indirezione ti migliora la manutenibilità del codice. Altrimenti fanne a meno.

    Dopo di che se la tua intenzione è fare qualcosa come

    if (Tipo == 'a') istanzia tipo a
    else if(tipo== 'b') istanzia tipo b

    sappi che questo è contro la morale.

    tendenzialmente dovresti avere una classe

    class forma2D
    {
    metodo astratto che ritorna forma3d ESTRUDI(Versore v, double modulo);
    }

    quindi

    class poligonochiuso : forma2D
    {
    forma3d ESTRUDI(Versore v, double modulo)
    }

    class cerchio : forma2D
    {
    forma3d ESTRUDI(Versore v, double modulo)
    }

    eccetera

    Ciao.

  3. #3

    Re: [c++]applicazione piu o meno oop

    Originariamente inviato da giuseppe500
    ciao.
    parto con la domanda:
    1)ho una serie di forme 2d che devono essere estruse in 3d e hanno le proprietà necessarie per estrudere che sono piu o meno le stesse , quello che è diverso è il modo di estrarre queste informazioni(che è comunque precedente all estrusione e non relazionato con questa) e il modo di estrudere dalle proprietà.
    Diciamo che tu hai delle forme 2d che hanno in comune il fatto che possono essere estruse in 3D.

    premessa:
    penso (e forse sbaglio) che un applicazione ad oggetti possa essere piu o meno oop spinta.
    mi chiedo se è sempre meglio spingere al massimo su questa astrazione,(l'oop), ho visto che a volte non è necessario e invece a volte è indispensabile , premetto che di tempo ne ho e posso fare le cose bene ma indipendentemente da questo mi sembra che a volte "spingere" troppo sia controproducente , quasi una malattia , un brutto metodo.
    Per me non c'é troppa o troppo poca OOP, c'é solo un buon design o un cattivo design (spesso non c'é proprio design). Non so se l'applicazione che stai realizzando sia banale o no in termini di righe di codice, ma tu quanto tempo hai speso, carta e penna alla mano, per fare l'analisi e successivamente il design del tuo progetto?

    dopo queesta premessa chiedo:
    sia meglio creare un tipo base CExtruder e creare una factory con un parametro intero del tipo di estrusione che crea il tipo derivato(factory method?) e nel tipo derivato avere ad es una funzione estrudi che sia polimorfica nelle varie implementazioni delle forme relative al parametro.

    mi chiedo se puo essere una buona implementazione , ma puo essermi utile?
    In che senso?

    per es se una forma in piu viene aggiunta basta derivare da CExtruder e aggiungere un parametro al factory method?


    chiedo a voi è un esempio , mi è capitato e l'ho fatto ad oggetti e forse non è neanche tanto spinto.

    scusate se dico degli strafalcioni , e correggetemi ma ho notato questa cosa della "sovra programmazione".

    ciao.
    A volte per capire la qualità di un'astrazione basta leggere a voce alta e usare un po' di logica.
    Prova a leggere a voce altra: una forma 2d è un Cextrude. Non so a te, a me suona malissimo.
    ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.