Record some design pattern in my own way.