Wer schon mal einen Rich Client als Präsentationsschicht einer Enterprise Java Anwendung gebaut hat, kennt es: Um die Remoting-Technologie zu verstecken, baut man Business Delegates. Damit diese nicht unübersichtlich werden, lässt man sie die gleichen Geschäftsschnittstellen implementieren wie die Serverkomponenten. Da bietet es sich an, über den Einsatz eines clientseitigen Dependency Injection Frameworks nachzudenken, das die Injektion der Business Delegates in die Client-Komponenten übernehmen kann. Google Guice ist ein sehr populäres und einfach zu bedienendes Framework, welches diese Aufgabe übernehmen kann. Dazu muss man lediglich konfigurieren, welche Implementierung Guice bei Bedarf eines Interfaces injizieren muss.
Ein weiterer wichtiger Aspekt bei der Entwicklung eines RCP-Clients ist die Fähigkeit, diesen ohne Server zu entwickeln bzw. zu testen. Dazu verwendet man oft Mock-Objekte. Diese werden im Unterschied zu den in JUnit-Test verwendeten Mocks nicht mittels EasyMock oder Mockito erzeugt, sondern können als normale Java Klassen implementiert und per Google Guice während der Entwicklung injiziert werden. Wie dies mittels Eclipse Extension Points geht und wie die Architektur dazu aussehen kann, ist in diesem Beitrag beschrieben.