I am following the textbook Object oriented software specification using UML, patterns and Java (3rd edition) and I am defining interfaces between system components (subsystems). But I encountered a practical problem in the notation.
Imagine for example a component Transaction Management component
that deals with transactions and consumes an interface exported by a Database Storage component
.
How should I name that interface ? Should I use a generic name like Storage and Database Service
, or prefer a more specific to the consuming component like Transaction storage Management Service
?
The purpose of the interface is to serve as a link
-- Well, yes, but what is the nature of the link? Is it imparting customer information? Is it serving as a middleware bridge? What does the interface actually do?