I have written one article on Design Pattern and I guess that would be useful to you as well and porting the code in Java should not be that difficult as C# and Java has very similar syntax as well.