add desigin patterns preface