Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porPurificación Padilla Rubio Modificado hace 9 años
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
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”.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.