Práctica 10: Lenguajes de Dominio Específico (DSL - Domain Specific Languages)
En esta práctica vamos a diseñar e implementar una DSL que nos permita una mejor definición de menús dietéticos diarios y semanales.
Instalación
En la carpeta del proyecto, ejecutar:
bundle install
Metodología
Para el desarrollo de esta práctica, crearemos una clase Menú y modificaremos las clases Alimento y Plato para que permitan el uso de una DSL. De esta manera, crear un menú será tan sencillo como hacer lo siguiente:
plato = Plato.new ("Hamburguesa") do
nombre "Hamburguesa especial de la casa"
alimento :descripcion => "carne de vaca",
:gramos => 100
alimento :descripcion => "huevo",
:gramos => 20
end
= Menu.new ("Combinado nº. 1") do
descripcion "hamburguesa, papas, refresco"
componente :descripcion => "Hamburguesa especial de la casa",
:precio => 4.25
componente :descripcion => "Papas pequeñas",
:precio => 1.75
componente :descripcion => "Refresco de lata",
:precio => 1.5
precio 7.5
end
Datos del creador
- Autor: Himar Manuel Barquín Carrasco.
- Fecha de creación: 06/01/2020.
- Fecha de entrega: 08/01/2020.
Lenguajes y Paradigmas de Programación, Ingeniería Informática.
Escuela Superior de Ingeniería y Tecnología, Universidad de La Laguna.