pattern-desing