Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    23

    Domanda da ignorante... quanti metodi può contenere una classe?

    Salve a tutti,
    so che è una domanda da ignorante... ma quanti metodi può contenere una classe? O meglio, credo che dal punto di vista tecnico non ci siano limiti, ma se io volessi raggruppare tutte le funzioni necessarie al mio sito web, in una singola classe, e poi richiamarle nel momento del bisogno, sarebbe un codice scorretto o "sporco"?

    per esempio, se creo un file chiamato metodi_generali.php con all'interno una classe con tutti i metodi che mi servono:

    codice:
    class funzioni{
    
    // proprietà
    
    public function db_connect(){
    
    }
    
    public function login(){
    
    }
    
    //ecc...
    
    }
    e poi, nelle pagine in cui è necessario, includere il file metodi_generali.php

    codice:
    require('metodi_generali.php');
    
    $istanza_classe  = new funzioni();
    
    $stanza_classe->db_connect();
    $stanza_classe->login();
    
    //ecc...
    sarebbe un codice corretto sotto ogni punto di vista? O per correttezza, sarebbe meglio creare più classi?

    Grazie per le risposte e per la pazienza

    Buona serata!
    Se sei padrone di te stesso sei padrone
    del mondo...

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    ma se io volessi raggruppare tutte le funzioni necessarie al mio sito web, in una singola classe, e poi richiamarle nel momento del bisogno
    Faccio io una domanda: WHY? WHY? WHY? WHY? WHY?!
    sarebbe un codice scorretto o "sporco"?
    Puoi farlo, ma per favore, pensaci due volte. Non sacrificare la S di SOLID.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    23
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    Faccio io una domanda: WHY? WHY? WHY? WHY? WHY?!
    Puoi farlo, ma per favore, pensaci due volte. Non sacrificare la S di SOLID.
    Semplice curiosità! Sinceramente, avevo il presentimento che una scelta simile non aveva senso, ma comunque mi interessava sapere se era "ipoteticamente" fattibile!

    Grazie mille per la risposta!
    Se sei padrone di te stesso sei padrone
    del mondo...

  4. #4
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    nessuno te lo vieta. sono i soliti pattern e antipattern.
    personalmente ritengo che non esista la ingegneria del software.
    bensì l'arte di programmare i computer
    sono punti di vista abbastanza analoghi a Mac Vs. pc

  5. #5
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    sono i soliti pattern e antipattern.
    personalmente ritengo che non esista la ingegneria del software.
    pattern e antipattern sono nell'ambito dell'ingegneria del sw.
    non sta costruendo un vaso di terracotta: costruire una classe che wrappa un mucchio di funzioni non è arte, non è oop, non è utile, non è nulla tranne che una pessima idea. Quindi "anche se puoi farlo, non dovresti, e non devi.".

    sono punti di vista abbastanza analoghi a Mac Vs. pc

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    23
    Bene, le vostre opinioni mi hanno dato ottimi spunti. Io ho creato un sito web abbastanza articolato, basandomi sul concetto di programmazione procedurale, scrivendo porzioni di codici in più file, che includo nelle pagine richieste.
    ---------------------------------
    es.
    ho un file per la connessione al DB che si chiama connect_db.php, che includo in ogni pagina dove è richiesta la connessione al database.
    ---------------------------------
    Ma mi sono reso conto che il codice oltre a essere poco comprensibile a persone esterne (un vantaggio in tema di sicurezza?) è troppo disordinato, se bene ogni funzione è racchiusa in singoli file. Per questo volevo revisionare tutta l'applicazione basandomi questa volta sul concetto di OOP... da quì sono nate le idee (poco brillanti credo) che ho esposto in questo post.

    personalmente ritengo che non esista la ingegneria del software.
    Anche io sono dello stesso parere
    Se sei padrone di te stesso sei padrone
    del mondo...

  7. #7
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    il codice oltre a essere poco comprensibile a persone esterne (un vantaggio in tema di sicurezza?)
    Alcune volte, quando leggo uno script fatto veramente male, mi capita di dire qualcosa come "è così fatto male che non riesco a leggerlo neanche tutto, mi sanguinano pure gli occhi". Ovviamente scherzando.
    La sicurezza non la ottieni programmando male. Sarebbe assurdo, no?

    Per questo volevo revisionare tutta l'applicazione basandomi questa volta sul concetto di OOP
    Come dicevo prima, una classe-wrappa-tutto-quello-che-ti-viene-in-mente come quella che hai descritto NON è OOP. Se intendi farlo significa che NON hai bisogno di usare una classe: definisci le tue funzioni ed includile dove ti servono.

    personalmente ritengo che non esista la ingegneria del software.
    Anche io sono dello stesso parere
    Potete spiegarmela questa? Non stiamo parlando di alieni o fantasmi, sono piuttosto sicuro che l'ingegneria del software esista da qualche parte.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Io ritengo che il tema di MySQL fosse molto filosofico e non so perchè ho come l'impressione che fosse una critica verso il MVC (o forse mi sto immaginando tutto e devo tornare a vivere in orari normali ).

    Se il problema è la leggibilità del codice, classi o non classi centra ben poco. Anzi... se utilizzi una buona programmazione a oggetti complicheresti di certo la lettura del codice a terzi che magari non possiedo tali facoltà.

    Altrimenti organizza tutto con delle funzioni ben identate, includile quando serve, commentale bene e via...

  9. #9
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    Potete spiegarmela questa? Non stiamo parlando di alieni o fantasmi, sono piuttosto sicuro che l'ingegneria del software esista da qualche parte.
    Quando viene anche solo ipotizzata la creazione di una classe "calderone" in cui buttare tutti i metodi possibili ed immaginabili indipendentemente da qualsiasi contesto logico sarebbe quanto meno bizzarro anche solo affrontare il concetto di ingegneria del software, figuriamoci quello di pattern!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Quote Originariamente inviata da zacca94 Visualizza il messaggio
    Io ritengo che il tema di MySQL fosse molto filosofico
    Pattern ed antipattern un po' come fisica e metafisica?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.