Appendix A. Role of abstractions in domain modeling

You should treat this appendix as a prelude to the entire discussion on DSLs. A DSL is nothing but a layer of abstraction over an underlying implementation model. The implementation model is nothing but an abstraction on top of the problem domain model, using the technology platform of the solution domain. Unless you get it right, your domain model won’t be at the correct level of abstraction, and the linguistic representation of it in the DSL won’t be either. Let’s see how you can make your abstractions shine.

A.1. Qualities of well-designed abstractions

This section focuses on the qualities of well-designed abstractions. I’ll use the fields of software engineering and program design as ...

Get DSLs in Action now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.