Abstract. Design patterns provide solutions to recurring design problems in object-oriented programming. Design patterns typically crosscut class boundaries so previous work aimed at improving modularity of their implementations. A series of recent studies has focused on aspect-oriented programming while other crosscutting techniques such as collaborationbased designs have remained unexplored. In this paper, we address this limitation by presenting a qualitative case study based on the Gang-ofFour design patterns comparing and contrasting mechanisms of representative languages of collaboration-based designs (Jak) and aspect-oriented programming (AspectJ). Our work yields guidelines for using both paradigms when implementing design patterns exploiting their relative strengths.