The Xtext framework is the de-facto standard toolkit to implement domain-specific languages with Eclipse IDE integration. Xtext provides all the necessary abstractions and reasonable default implementations to allow a jump start also for non-language gurus. If your DSL will be used together with Java code in your project, the available concepts are even more powerful. Just a few tweaks in the grammar enable Xbase expressions, and an additional mapping definition makes your DSL equivalent to and interoperable with Java code.
Patterns have a long tradition in Java-land. Being it the infamous ProxyAdapterFactoryBuilder or just a simple Singleton.getInstance, the Gang-of-Four patterns have proven to provide a solid means to communicate the intent of a class hierarchy and a recipe to solve common problems. Unfortunately Java doesn't allow you to put these recipes into code for multiple reuse, but forces you to copy & paste these patterns from books and other resources. If you want to clean up your Java projects and significantly improve its maintainability, this tutorial is for you.