Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Volviendo al tema, ...MVC Design pattern en VFP
Message
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Programmation Orientée Object
Titre:
Volviendo al tema, ...MVC Design pattern en VFP
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
MySQL
Divers
Thread ID:
01124653
Message ID:
01124653
Vues:
146
Martín, siguiendo con el tema ahora en el foro en español.
Preguntaba como implementar correctamente el MVC usando VFP. El problema que me enfrenté, es pasando algo de código entre JAVA y VFP y tratando de ser lo más purista posible en el uso de patrones de diseño.

Te planteo un ejemplo extremadamente básico y te pido tu opinión al respecto.
Un formulario con un solo botón que imprime un mensaje.

1) Capa VIEW del pattern en VFP
directamente creo un form
CREATE FORM mvcTest
Y le agrego un command button llamado cmdSaludo
y una propiedad llamada oCtrl que instancia la clase controller

2) Capa Controller del pattern
creo un PRG para definir una clase llamado ctrlTest.prg
con el siguiente código:
DEFINE CLASS ctrlTest as Custom 
	PROTECTED cSaludo as String
		
	PROCEDURE Init(cStr as String)
		this.cSaludo = cStr
	ENDPROC
		
	PROCEDURE Saludar
		MESSAGEBOX(this.cSaludo)
	ENDPROC
ENDDEFINE
En el método Load del formulario agrego el siguiente código:
SET PROCEDURE TO ctrlTest.prg additive
This.oCtrl = CREATEOBJECT("ctrlTest")
El evento click del botón el siguiente código:
Thisform.oCtrl.Init("Hola UT!")
Thisform.oCtrl.Saludar()
Y por último en el evento Unload del form:
RELEASE PROCEDURE ctrlTest
This.oCtrl = null
3) Capa Model del pattern
es aplicable ?

Funcionar, funciona, pero mi duda es esi correctamente aplicable. Por lo pronto me surgen cuatro preguntas:
1) La capa Model es aplicable ?
2) La definición de la clase es de tipo Custom . Es correcto ?
3) Cuando aplicar en la definición de clase tipo Session ?
4) la instanciación de la clase dentro del form no me parece muy elegante, pero quiería evitar tener un main (o un programa lanzador) con muchas definiciones y objetos instanciados sin ser usados.


Saludos,
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform