There is a high chance of you creating, using
and supporting an (internal) DSL without even realizing it. Especially if
you’ve ever been involved in UI web testing with Selenium,
any of the Cucumber family BDD frameworks and an OOP language as
support. Combining those require some glue code (not mandatory Adapter pattern). Maybe you saw it lurking in your declarative BDD scenarios. Some other patterns
like Facade and Strategy also make their way in your Step definitions, but for the focus of the post I’ll
skip them. So how to find our own DSL (we just found out about)? Some of the
main clues (as described in Martin Fowler’s book) are:
·
the
DSL is a communication channel, small, you couldn’t build a whole system in it
·
applies
to a small, but key part of the system and enables communication between the
different teams
· we use DSL to build up a (semantic) model that captures the actual behavior that you try to expose
· meta-programming (will stop on this key point later)
· we use DSL to build up a (semantic) model that captures the actual behavior that you try to expose
· meta-programming (will stop on this key point later)
Read more about it here...
No comments:
Post a Comment