simples examples design pattern