DAO - Data Access Object. Objects which handle storage of data e.g. in a database
Template - Dividing interface from implementation
A design pattern usually consists of:
a name - the identifier for the pattern. Any aliases must also be listed.
a goal - what the pattern aims to achieve (sometimes described as forces)
the description - describes how the pattern works
the implementation - making the pattern work in practice
cases - successful applications of the pattern