Как научиться писать хороший код, применяя шаблоны проектирования и тд?
Уже неоднократно обсуждали на тостере:
Где лучше практиковаться, чтобы научиться всеми фишками патерна?
Как научиться писать такой ООП код?
Как научиться использовать паттерны?
Как вы освоили шаблоны проектирования?
Чтобы получить основательные знания, читайте книги, там есть всё, что нужно.