La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a DSL Tools con Visual Studio Abdul Wahab Sultán Regalado.

Presentaciones similares


Presentación del tema: "Introducción a DSL Tools con Visual Studio Abdul Wahab Sultán Regalado."— Transcripción de la presentación:

1 Introducción a DSL Tools con Visual Studio Abdul Wahab Sultán Regalado

2 Domain-Specific Development Es una forma de NO REINVENTAR la rueda. La solución se obtiene a partir de un MODELO + un FRAMEWORK.

3 Ejemplos de DSL Modelo de interfaz de usuario de una aplicación.

4 Ejemplos de DSL Modelo de los perfiles de usuarios de una aplicación.

5 Ejemplos de DSL Modelo de Clases de Negocio de una aplicación.

6 Como proceder... Identificar aquellos aspectos que se repitan. Identificar aquellos aspectos que varían y diseñar un Domain-Specific Language.

7 Dos formas de afrontar el reto. Top-Down. Caminamos desde el modelo hacia el código. Down-Top. Caminamos desde el código hacia el modelo.

8 Contextos en el desarrollo con DSL Tools Definición del DSL + Código a Mano Framework de aplicación + Editor Generado + Plantillas de Generación Aplicación Software Autor del DSL Autor de la aplicación Usuario de la aplicación

9 Arquitectura de DSL Tools

10 Construir un DSL con DSLTools Crear un nuevo proyecto. Definir las clases de dominio y relaciones. Asociar las clases de dominio y relaciones con iconos gráficos. Definir las validaciones. Crear las plantillas para la generación de código.

11 Crear un nuevo proyecto

12 Definir clases y relaciones

13 Asociar iconos gráficos

14 Definir Validaciones

15 Definir plantillas para la Generación de Código

16 In-Memoy Store Creación, manupulación y eliminación de elementos del modelo. Transacciones Deshacer/Rehacer Reglas y Eventos. Acceso al modelo del dominio. using (Transaction t = this.Store.TransactionManager.BeginTransaction("example"))‏ { IssueState state = new IssueState(store); state.Name = "TestState"; Comment comment = new Comment(store); comment.CommentText = "This is an interesting state"; comment.Subjects.Add(state); t.Commit(); }

17 Transformación a Código

18

19

20 Ejemplo

21 Ejemplo string[] nextOptions = new string[]{}; if (!string.IsNullOrEmpty(currentState))‏ { if ("Unassigned"==currentState)‏ nextOptions = new string[] { "Unassigned" // allow leaving state unchanged "Approved", "Rejected", }; else if ("Rejected"==currentState)‏ nextOptions = new string[] { "Rejected", // allow leaving state unchanged };... } else { // New Issue nextOptions = new string[] {"Unassigned"}; }

22 Ejemplo

23 Referencias Domain-Specific Development with Visual Studio DSL Tools (Steve Cook, Gareth Jones, Stuart Kent y Alan Cameron Wills). (En especial los capítulos 7, 8, 10)‏ MSDN Domain-Specific Language Tools Documentation http://msdn2.microsoft.com/en-us/library/bb126235.aspx http://msdn2.microsoft.com/en-us/library/bb126235.aspx Exploring the new Domain-Specific Language (DSL Tools) http://channel9.msdn.com/showpost.aspx?postid=246477 http://channel9.msdn.com/showpost.aspx?postid=246477 DSL Tools Práctico. http://dsltools.blogspot.com/http://dsltools.blogspot.com/ Tutorial DSL Tools. http://dsltools.wikispaces.com/http://dsltools.wikispaces.com/ Generating Artifacts By Using Text Templates http://msdn2.microsoft.com/en-us/library/bb126445.aspx http://msdn2.microsoft.com/en-us/library/bb126445.aspx

24 Descargar DSL Tools Descargar “Visual Studio 2005 SDK Version 4.0” http://www.microsoft.com/downloads/details.aspx?FamilyID=51a5c65b-c020-4e08-8ac0-3eb9c06996f4&DisplayLang=en http://www.microsoft.com/downloads/details.aspx?FamilyID=51a5c65b-c020-4e08-8ac0-3eb9c06996f4&DisplayLang=en O buscar en google “Visual Studio 2005 SDK Version 4.0”.


Descargar ppt "Introducción a DSL Tools con Visual Studio Abdul Wahab Sultán Regalado."

Presentaciones similares


Anuncios Google