Domanda

Sembra che l'approch norma MVC (come si riferisce alla ColdFusion) è quello di rendere la vista file .cfm e fare un cfinclude all'interno del CFC che alla fine elabora la vista.

Questo rompere l'Orientamento oggetto dei CFC?

Questo causa il compilatore CFML di dover compilare l'everytime vista?

C'è un forte motivo per non rendere la vista file stessi CFC con un metodo getContent?

È stato utile?

Soluzione

  

Questo rompere l'Object Orientation   dei CFC?

Il raggiungimento di questo vago "Orientamento Object" di CFC è una specie di soggettivo. Forzare te stesso in "tutto deve essere un oggetto" sta per costringerti a fare le cose con CF che creerà spese extra. I piccolo compromesso è necessario per assicurarsi che le applicazioni sono veloce ed efficiente. Non preoccuparti per raggiungere un certo obiettivo indefinibile di essere "object oriented". Fare un obiettivo più definibile, come ad esempio il raggiungimento riutilizzo di CFC o incapsulamento di cambiamento. Cercando di fare vista in oggetti non è necessariamente aiutano a raggiungere questi obiettivi, perché ogni visione sarà diverso e probabilmente non riutilizzabile.

  

Questo causa il compilatore CFML per   devono compilare l'everytime vista?

CFMs sono compilati e memorizzati nella cache troppo. Ho avuto diverse forme di grandi dimensioni, comprensivi di schede, in cui ogni scheda è un file CFM separato. Sul primo carico, prendono un paio di secondi per la compilazione e la visualizzazione. Su carichi successivi, la visualizzazione a schede viene generato e visualizzato immediatamente. Lo stesso accade con CFC.

  

C'è un forte motivo per non fare   la vista file stessi CFC con   Metodo getContent?

I tempo fa ho cercato di attuare il mio quadro solo per l'esperienza di apprendimento e ho finito con l'approccio cfinclude. Da quello che mi ricordo, quello che ho trovato era che l'uso di cfinclude incapsulato cose meglio e di evitare la pesantezza di creazione di oggetti, passando intorno gli argomenti necessari per la vista, preoccuparsi di oggetti che sono nel campo di applicazione a destra, e di evitare il sovraccarico della creazione di oggetti vista.

Alla fine, però, suppongo che questo è una di quelle cose che dovete provare voi stessi per capire quale approccio è migliore per la vostra situazione.

Altri suggerimenti

Se siete interessati ad implementare MVC, si dovrebbe verificare la vasta gamma di quadri CFML che già rendono queste decisioni per voi.

Prova coldbox, ColdFusion on Wheels, Mach-II, o Model-Colla. O almeno dare un'occhiata al loro codice sorgente e vedere come gestire la cosa. :)

Non seguire ciecamente un modello o metodologia solo perché qualcuno ha suggerito. Guarda le esigenze che il vostro sito ha e prestare attenzione alle proprie preferenze, con un occhio verso qualcun altro mantenendo il codice in fondo alla strada.

In particolare, io uso di CFC per incapsulare l'interazione con il DB. Seguo un pattern MVC, perché separa il codice della vista dal codice del modello è una buona idea, se i CFC stanno seguendo regole OO veri è meno importante.

Io uso cfincludes in molti luoghi per ridurre redundency a mio livello vista.

Ho implementato il Controller parte del mio modello usando un quadro personalizzato (ho creato il controller), poi si intelligente e utilizzato MachII, Fusebox e modello Glue. Ognuno di questi quadri supporta / incoraggia l'utilizzo di punti di vista di CFC, ecc, o meglio ha dichiarato che ogni supporta un buon design e separazione degli interessi.

Trova buoni modelli, decidere che cosa funziona per voi, implementare e documentare.

Non sarebbe cfinclude legare il vostro portabilità CFC più accoppiando direttamente ad un CFM.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top