Pagina 3 di 5 primaprima 1 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 48

Discussione: Mvc

  1. #21
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Virus, Wikipedia su Factory Method ha 10 righe 10 compreso il diagramma.

    Io ho una domanda stupida da farvi.

    Io fino ad oggi usavo un albero di root con

    codice:
    Root
    |_ Include
    |_ Pages
    |_ Template
    |_ Images
    |_ Scripts
           |_ JS
           |_  PHP
    |_ Stili
    |_Gallery
    |_ Area Riservata
    Cambiando ed utilizzando un Design Pattern dovrò cambiare la mia struttura. Vero ??

  2. #22
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    uhm praticamente si
    poiche' le factory richiede sia le classi normali che le classi di factorying.
    Inoltre dovrai poi strutturare MOLTO bene le classi "gerarchiche" e quelle parallele.

    quindi dovrai corstuire una struttura opportuna di come albero delle classi che come albero di dirs o namespace che userai.

    Non e' immediato come pattern. e ci vuole parecchio a capire come gestirlo bene.
    Tuttora io sto studiando delle soluzioni factory + namespacing che mi rendano libero
    Cmq come struttyura avari una cosa del tipo

    --app
    |_index
    |_ [css]
    |_ [js]
    |_ [images]
    |_ [core]
    ...|_ [factories]
    ......|_ main
    ......|_ database
    ......|_ pageCreator
    ......|_ users
    ......|_ etc...
    ......|_ [classes]
    .........|_user
    .........|_user_admin
    .........|_user_super
    .........|_user_mod
    ...|_[actions]
    ......|_userLogin.php

    O qualcosa di simile vedi te puoi quano innestare e quanta profonditaà vuoi avere

    Faccio esempio con utenti userLogin.php
    Codice PHP:
    <?PHP
    $eh 
    f_errorHandler::getInstance();
    $db f_database::getInstance$connectionData ) ;

    $currUserLogin $_POST["login"] :
    $currUserPwd   $_POST["pwd"] ;

    $userManager f_userManager::getInstance() ;
    $currUser $userManager->getUserByLogin($currUserLogin,$currUserPwd) ;

    if( !
    $currUser )
    {
       
    $eh->reportError"INVALID LOGIN" ) ;
       die();
    }

    // LOGIN OK STIPA USER IN SESSION
    $sh f_sessionHandler::getIstance();
    $sh->set"user" $currUser ) ;

    // Perform redirect
    $mover f_redirectManager::getIstance();
    $mover->goto("./home.html") ;

    ?>

    Come vedi in php e' un poco un casotto ma rende le cose molto leggibili.
    Il problema riguarda l'inclusione di quello che ti serve quando ti serve.
    Ma se scrivi un opportuna factory f_includeManager puoi gestire le inclusioni e le istanziazioni anche da namespace

    Questo unitamente al fatto che per quanto riguarda lo user la factory puo' dare

    user , userAdmin , userSuper etc...

    ogununa di queste classi e' un'estensione dell'altra e qui vedi un esempio di gerarchia

    user
    |_ userSuper
    ...|_userModerator
    .....|_userAdmin

    Ogni classe estende la precedente aggiungendo metodi e permessi.
    La factory quindi deciderà in autonomia che "prodotto" creare a login dello user e ti darà il ris ready to use

  3. #23
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    120
    Originariamente inviato da Virus_101
    Come dicevo sopra factory e' spesso usato su sistemi con gestione persistenza per gli ovvi vantaggi che offre sia di performance sia di componenti non coese. Quindi con coupling quasi inesistente.

    Per iniziare solitamente si parte anche da wikipedia http://en.wikipedia.org/wiki/Factory_method_pattern

    Da li poi ci sono tuti i riferimento per info piu' specifiche.

    Cmq ad ora non saprei se esiste un framework factory based.

    Usai a suo tempo Hybernate per java servlet, che era tutto factory based.
    Montato su software con pattern mvc(per obblighi di progetto non dipendenti da me).

    E devo dire che come operava era davvero bello, a parte i molti bug che aveva hybernate dell'epoca
    grazie per la risposta, avevo già dato una rapida lettura su wiki, però volevo qualcosa di più sostanzioso, diciamo che leggendo il tuo ultimo post ha reso le cose ancora un po più chiare, però da qui a implementarlo bene al primo tentativo ce ne passa, sicuramente anche questo pattern avrà i suoi problemi da risolvere
    appena mi capita l'occasione farò un tentativo

  4. #24
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    Ciao a tutti, ogni volta che si aprono discussioni del genere riguardanti pattern o obj c'è molto movimento, sinceramente io suggerirei agli amministratori di creare una sezione a parte dedicata alle logiche obj e patter.... comunque....
    la domanda che volevo farvi è :
    Ma come persistenza cosa intendete?
    La possibilità di allocare un oggetto e di mantenerlo in vita finito il ciclo naturale di vita della pagina?
    Ci sono dei linguaggi web oriented che permettono questo?
    Se si come è possibile che poi riesca ad associare l'oggetto all'utente che l'ha creato?
    Che mestiere difficile.....essere da soli ancora di più

  5. #25
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    Originariamente inviato da Fractals87
    Ciao a tutti, ogni volta che si aprono discussioni del genere riguardanti pattern o obj c'è molto movimento, sinceramente io suggerirei agli amministratori di creare una sezione a parte dedicata alle logiche obj e patter.... comunque....
    la domanda che volevo farvi è :
    Ma come persistenza cosa intendete?
    La possibilità di allocare un oggetto e di mantenerlo in vita finito il ciclo naturale di vita della pagina?
    Ci sono dei linguaggi web oriented che permettono questo?
    Se si come è possibile che poi riesca ad associare l'oggetto all'utente che l'ha creato?
    per persistenza si intende che la classe viene instanziata una sola volta dal server e non vi è bisogno di reinstanziarla fino ad un ulteriore riavvio del webserver stesso (tomcat negli esempi citati).

    comunque sia la discussione non è stata così sanguinaria, non al livello di un Doctrine VS ActiveRecord almeno :P
    sometimes it's just like teaching pigs how to fly

  6. #26
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    ok per classi funzionali all'applicazione percui, es una classe che costruisce la pagina.....
    ma se intendiamo una classe che l'utente istanzia, e questa classe persiste, come faccio a identificarlo univocamente con il client?
    Ma non è possibile mettere l'oggetto in una sessione?
    Che mestiere difficile.....essere da soli ancora di più

  7. #27
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    SI dovrebbero attivare una sezione dedicata al'oop

    Cmq la peristenza degli oggetti non riguarda le singole pagine.
    La persistenza ti consente di allocare in memoria del server 1 risorsa e di riutilizzarla ogni volta che vuoi.
    Quindi i vari moduli che lanci possono ri-utilizzare quanto presente in memoria del server.

    Il pattern factory si soposa bene con la persistenza in quanto appunto le classi statiche allocano 1 sola istanza di un oggetto quindi quando avvi le factory la prima queste istanziano gli oggetti che ti servono e li schiaffano in memoria peristente(per tutta la tua applicazione). A quel punto quando ri-lanci il getInstance() non istazi ne allochi nulla di nuovo, ma ri-utilizzi quanto hai già allocato.

    QUindi come vedi e' molto comodo in quanto puoi allocare il core-code in memoria e renderlo sempre disponibile a tutta l'applicazione senza pesanti procedure di re-istanziazione e ri allocamento.

    In java questo e' il pane quotidiano, per cui alla fine le servlet fatte cosi' hanno ottime performance. A parte il primo accesso che risulterà molto lento poichè e' colui che avvia de-facto l'accpliczione.

    In php non hai la persistenza (almeno per ora) la puoi simulre con le sessioni ma avresti cmq uno spreco enorme di mem in quanto ogni sessione avrebbe tutto il core-code allocato.
    PDO e' (credo) l'unico modulo php che per ora supporti la persistenza vera e propria. Ma non avendoci mai lavorato troppo sopra non ne sarei sicuro al 100%.

    Io spero che con php6 inseriscano questa feature oltre a pulire tutto quel marasma che e' diventato PHP.

  8. #28
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    Originariamente inviato da Virus_101
    SI dovrebbero attivare una sezione dedicata al'oop

    Cmq la peristenza degli oggetti non riguarda le singole pagine.
    La persistenza ti consente di allocare in memoria del server 1 risorsa e di riutilizzarla ogni volta che vuoi.
    Quindi i vari moduli che lanci possono ri-utilizzare quanto presente in memoria del server.

    Il pattern factory si soposa bene con la persistenza in quanto appunto le classi statiche allocano 1 sola istanza di un oggetto quindi quando avvi le factory la prima queste istanziano gli oggetti che ti servono e li schiaffano in memoria peristente(per tutta la tua applicazione). A quel punto quando ri-lanci il getInstance() non istazi ne allochi nulla di nuovo, ma ri-utilizzi quanto hai già allocato.

    QUindi come vedi e' molto comodo in quanto puoi allocare il core-code in memoria e renderlo sempre disponibile a tutta l'applicazione senza pesanti procedure di re-istanziazione e ri allocamento.

    In java questo e' il pane quotidiano, per cui alla fine le servlet fatte cosi' hanno ottime performance. A parte il primo accesso che risulterà molto lento poichè e' colui che avvia de-facto l'accpliczione.

    In php non hai la persistenza (almeno per ora) la puoi simulre con le sessioni ma avresti cmq uno spreco enorme di mem in quanto ogni sessione avrebbe tutto il core-code allocato.
    PDO e' (credo) l'unico modulo php che per ora supporti la persistenza vera e propria. Ma non avendoci mai lavorato troppo sopra non ne sarei sicuro al 100%.

    Io spero che con php6 inseriscano questa feature oltre a pulire tutto quel marasma che e' diventato PHP.
    al momento io mi accontenterei anche del multithread onestamente :P
    sometimes it's just like teaching pigs how to fly

  9. #29
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    o.O
    E perche' ?
    Per avere hiamate a sicnrone negli script php ?

    Beh per alcune necessita puoi eseguire i relativi fork.... che e' pure meglio

  10. #30
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    [OT]

    Credo che virus vada in giro con una maglietta del tipo: I LOVE PATTERN FACTORY

    [/OT]

    Io sto ancora cercando di capire come partirci, con l'MVC viene quasi più spontaneo (poi in realtà finisce che ho sbagliato tutto )

    Con il Factory ho l'idea di base teorica ma non ho un punto di base pratica per capire bene l'attuazione del tutto.
    Purtroppo i miei progetti prima di diventare cuoco erano agli albori del php e con un professore che ti rispondeva alla richiesta di chiarimenti "A ma io so quello che vi ho detto di più non saprei dirti"
    Se rispondo ad una discussione è perchè so quello che dico ed ho voglia di rispondere, non per aumentare il contatore messaggi

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.