design pattern

some design pattern