The importance of using a good metaphor within projects was demonstrated by Kent Beck in his keynote talk at OOPSLA 2002. While the role of metaphors seems to be accepted, the process of finding the right metaphor is a demanding task. Letting the metaphor guide you to a suitable system architecture is even harder. Wouldn't it be nice to have a good starting point for finding and using a metaphor? We introduce the concept of a metaphor design space. This provides a set of proven design metaphors and combines them with architecture patterns similar to Martin Fowler's Enterprise Application Architecture (see [3]). The basic concept has evolved over the past ten years while working on metaphor-based object-oriented systems. We illustrate the concept using examples from the Tools & Materials approach (see [9]).
[1]
Martin Fowler,et al.
Patterns of Enterprise Application Architecture
,
2002
.
[2]
Kent L. Beck,et al.
Extreme programming explained - embrace change
,
1990
.
[3]
Heinz Züllighoven,et al.
Domain services for multichannel application software
,
2001,
Proceedings of the 34th Annual Hawaii International Conference on System Sciences.
[4]
Ralph Johnson,et al.
design patterns elements of reusable object oriented software
,
2019
.
[5]
Martin Lippert,et al.
eXtreme Programming in Action: Practical Experiences From Real World Projects
,
2002
.
[6]
Dirk Riehle,et al.
Framework development for large systems
,
1997,
CACM.