Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27

Hybrid View

  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
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da MySQL Visualizza il messaggio
    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
    Come strutturare una classe non ha molto a che vedere con i pattern, una classe si struttura secondo la logica che governa ciò che si vuole modellare, non secondo i pattern, i pattern si usano per organizzare il flusso di dati da una parte all'altra dell'applicazione.
    Se mi si chiedesse di realizzare il codice per il gestionale di un'officina, io la classe Automobile la farei allo stesso modo senza pensare minimamente al pattern da usare, sempre un'automobile è, non cambia secondo il pattern che usi, ha sempre 4 ruote, 1 motore, 1 cambio...

    L'arte di programmare i computer cos'è?
    Non è saper organizzare il codice in modo ordinato e logico? Non penso che la tua idea di programmazione sia mettere pezzi di codice in giro a caso e in modo diverso ogni volta che ti serve la stessa funzionalità, giusto?
    Bene, qualunque sia la tua idea di ordine e logica, comunque stai pensando a come sia meglio scrivere il tuo codice e questa tua idea è un pattern, il tuo personale.
    Parte dell'ingegneria del software è proprio questo, studiare metodi per scrivere codice in modo logico ed ordinato in modo che sia meglio manutenibile ecc.
    Quindi qualsiasi sia il tuo approccio alla programmazione, se pensi a come organizzare il tuo codice senza seguire modelli già pensati da altri, stai applicando la tua idea di ingegneria del software.

    Detto questo, per rispondere all'autore ed al tema della discussione, concordo con chi già ti ha detto che fondamentalmente puoi fare come ti pare, dentro la classe ci puoi mettere tutti i metodi che vuoi, ma che ciò non ha alcun senso, non è programmazione object oriented.
    A quel punto ti conviene fare un file con dentro tutte le funzioni che intendi usare, lo includi dove serve ed usi le tue funzioni, risparmiando anche risorse perché non devi creare nessun oggetto.

  6. #6
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Se mi si chiedesse di realizzare il codice per il gestionale di un'officina, io la classe Automobile
    L'autore del 3d invece farebbe direttamente la classe "GestionaleDiUnOfficina"! ...vuoi mettere utilizzare il paradigma OOP piuttosto che la vile e volgare programmazione funzionale!?!?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Se mi si chiedesse di realizzare il codice per il gestionale di un'officina, io la classe Automobile la farei allo stesso modo senza pensare minimamente al pattern da usare, sempre un'automobile è, non cambia secondo il pattern che usi, ha sempre 4 ruote, 1 motore, 1 cambio...
    Mi basta questo per capire il livello (senza offesa) della risposta, cioè livello dilettantesco (nel senso buono, diciamo hobbystico)

    L'arte di programmare i computer cos'è?
    La Bibbia dell'informatico (vero, ma non finto), vedo che non è stato colto il riferimento, ma pazienza.

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da MySQL Visualizza il messaggio
    Mi basta questo per capire il livello (senza offesa) della risposta, cioè livello dilettantesco (nel senso buono, diciamo hobbystico)
    Ah beh, ubi maior...
    Scusa eh.

  9. #9
    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

  10. #10
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    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.".
    Per quanto mi riguarda fare qualcosa senza sapere perchè la si fa, è una pessima idea.
    Il resto "non si fa perchè mi hanno detto che non si fa" lascia, almeno con me, il tempo che trova

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.