Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2020
    Messaggi
    42

    programmazione ad oggetti

    salute a tutti...
    vorrei capire se avrebbe dei vantaggi riscrivere la mia webapp con una logica a oggetti.
    Ho creato diverse webapp per gestire le manutenzioni impianti/caldaie, fatture, ecc..per semplificare parlerò solo di quella relativa alla manutenzione impianti.

    In un database mysql ho le seguenti tabelle:

    layout.jpg

    Per ogni cantiere ho una lista di manutenzioni da fare in uno specifico mese dell'anno che sono scritte nella tabella programma_manutenzioni.

    Le manutenzioni eseguite sono registrate nella tabella registro_manutenzioni.
    (in questa tabella potrei riportare solo gli id delle tabelle esterne ma per evitare un incongruità di dati in caso di modifica della tabella esterna vado a salvare tutta la riga.)

    JS si occupa di richiedere i dati al database attreverso delle query, scrive il codice html e lo mostra a schermo.

    PHP ha solo il compito di interfacciarsi con mysql e reinviare i dati in json

    Se voglio programmare una nuova manutenzione da fare su un impianto, procedo così:
    - clicco il bottone 'programma_mautenzione'
    - si apre una finestra tipo popup dove mostro la tabella 'cantieri'
    - clicco sul cantiere/impianto scelto
    - si chiude il popup e visualizzo la tabella 'programma_manutenzione' filtrata sull'id del cantiere scelto, quindi visualizzo se già inserite le mautenzioni da fare su quel cantiere
    - a fine tabella ho inserito un form per inserire una nuova manutenzione da fare
    - clicco sul campo vuoto della colonna descrizione, si apre una finestra popup dove posso scegliere il tipo di manutenzione da fare
    - poi scelgo il mese in cui farlo

    prog_manutenz.jpg

    La funzione js che viene chiamata maggiormente è quella che si occupa di scrivere il codice html di una tabella con i dati che li passiamo, poi a seconda del contesto vado a inserire altri elementi come per esempio il form a fine tabella, oppure i bottoni per eliminare modificare una riga..

    In questo contesto che ho provato a illustrare avrebbe senso una programmazione ad oggetti?
    Se si..come potrebbe essere strutturata? Quali elementi andrebbero strutturati come oggetto??

    Per semplificare potremmo ragionare su una semplice ipotetica webapp per gestire una rubrica, senza entrare nel merito del mio progetto.

    L'idea di cambiare approccio nasce dall'esigenza di rendere il codice più facile da aggiornare, migliorare e aggiungere nuove funzioni..

    I linguaggi che conosco sono javascript e php..

    Grazie a chi avrà voglia di illuminarmi..

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,381
    Quote Originariamente inviata da toreg Visualizza il messaggio
    In questo contesto che ho provato a illustrare avrebbe senso una programmazione ad oggetti?
    Se si..come potrebbe essere strutturata? Quali elementi andrebbero strutturati come oggetto??
    Una disamina esaustiva diventa difficile se non si conosce la programmazione orientata agli oggetti.
    Hai già studiato quali sono i suoi principi?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2020
    Messaggi
    42
    Quote Originariamente inviata da alka Visualizza il messaggio
    Una disamina esaustiva diventa difficile se non si conosce la programmazione orientata agli oggetti.
    Hai già studiato quali sono i suoi principi?
    ciao alka..
    ho seguito diverse lezioni su youtube per quanto riguarda javascript object oriented e la sua sintassi, video teorici sulla programmazione a oggetti di java e penso di aver capito il funzionamento ma non saprei come iniziare a strutturarlo.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,381
    Quote Originariamente inviata da toreg Visualizza il messaggio
    ho seguito diverse lezioni su youtube per quanto riguarda javascript object oriented e la sua sintassi, video teorici sulla programmazione a oggetti di java e penso di aver capito il funzionamento ma non saprei come iniziare a strutturarlo.
    Secondo me, i video su YouTube possono essere uno spunto per iniziare, ma serve ben altro approfondimento per poter capire bene i concetti.

    Se le nozioni sono chiare, l'utilizzo della OOP nel tuo contesto dovrebbe risultare automatico.

    Se non lo è, le opzioni possono essere due: o il contesto mal si adatta al paradigma, oppure i concetti non sono chiari come dovrebbero.

    Per il resto, si dovrebbe andare molto più a fondo nell'architettura del tuo sistema per capire come fai le cose e in quali frangenti un approccio OOP potrebbe aver senso: la OOP non è una cosa che applichi come un attributo o una parola chiave e magicamente ottieni delle funzionalità, ma è anche e soprattutto una impostazione mentale, una visione di come il software viene modellato, e non solo per la rappresentazione delle strutture dati che ti trovi a manipolare (es. oggetti con i dati delle tue tabelle), ma riguarda pure l'architettura in sé.

    Per fare un esempio, se devi fare un calcolo basato su opzioni variabili usando dei costrutti "if", puoi pensare di isolare quel calcolo all'interno di classi preposte, creando una classe base che identifichi il "calcolo" in sé, visto come operazione, e derivando da quella puoi implementare tutte le casistiche previste che hai elencato all'interno del tuo "if", sfruttando una gerarchia di classi piuttosto che isolare tutta la logica in un punto solo e discriminandola con un "if" complesso. Ma questo è solo uno dei tanti scenari.

    La OOP è un punto di ingresso, una conoscenza di base, è un biglietto per poter successivamente espandere le conoscenze verso pattern e metodologie che sono l'applicazione pratica e reale dei concetti visti nella OOP; ad esempio i principi SOLID (cerca sul Web) oppure acquista il libro sul Clean Code, e troverai tanti spunti pratici dimostrativi che ti indicano espressamente come il codice deve essere scritto, sfruttando il paradigma OOP ma anche tante altre pratiche.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2020
    Messaggi
    42
    Quote Originariamente inviata da alka Visualizza il messaggio
    Secondo me, i video su YouTube possono essere uno spunto per iniziare, ma serve ben altro approfondimento per poter capire bene i concetti.

    Se le nozioni sono chiare, l'utilizzo della OOP nel tuo contesto dovrebbe risultare automatico.

    Se non lo è, le opzioni possono essere due: o il contesto mal si adatta al paradigma, oppure i concetti non sono chiari come dovrebbero.

    Per il resto, si dovrebbe andare molto più a fondo nell'architettura del tuo sistema per capire come fai le cose e in quali frangenti un approccio OOP potrebbe aver senso: la OOP non è una cosa che applichi come un attributo o una parola chiave e magicamente ottieni delle funzionalità, ma è anche e soprattutto una impostazione mentale, una visione di come il software viene modellato, e non solo per la rappresentazione delle strutture dati che ti trovi a manipolare (es. oggetti con i dati delle tue tabelle), ma riguarda pure l'architettura in sé.

    Per fare un esempio, se devi fare un calcolo basato su opzioni variabili usando dei costrutti "if", puoi pensare di isolare quel calcolo all'interno di classi preposte, creando una classe base che identifichi il "calcolo" in sé, visto come operazione, e derivando da quella puoi implementare tutte le casistiche previste che hai elencato all'interno del tuo "if", sfruttando una gerarchia di classi piuttosto che isolare tutta la logica in un punto solo e discriminandola con un "if" complesso. Ma questo è solo uno dei tanti scenari.

    La OOP è un punto di ingresso, una conoscenza di base, è un biglietto per poter successivamente espandere le conoscenze verso pattern e metodologie che sono l'applicazione pratica e reale dei concetti visti nella OOP; ad esempio i principi SOLID (cerca sul Web) oppure acquista il libro sul Clean Code, e troverai tanti spunti pratici dimostrativi che ti indicano espressamente come il codice deve essere scritto, sfruttando il paradigma OOP ma anche tante altre pratiche.
    Hai perfettamente ragione, mi mancano le basi sulla progettazione di un applicazione. I video trovati su youtube dopo una breve introduzione passavano subito a illustrare la sintassi delle classi, oggetti ecc

    Partirò dai tuoi spunti per cercare materiale da studiare..

    Grazie per il tempo dedicatomi..

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.