design pattern concepts 427712