# Design Patterns ## References and books * [Source Making](https://sourcemaking.com/design_patterns) is a very nice website gathering design patterns, anti-patterns and refactoring rules * [Wikipedia list of usual design patterns](https://fr.wikipedia.org/wiki/Patron_de_conception) * [Design Pattern explained simply](https://sourcemaking.com/design-patterns-book) * [Head First Design patterns](http://shop.oreilly.com/product/9780596007126.do) * [WikiBook design patterns](https://en.wikibooks.org/wiki/Category:Computer_Science_Design_Patterns) # C++ Patterns and code tricks * Copy constructor for class having abstract class as attribute * http://stackoverflow.com/questions/4507565/problem-with-copy-constructor-with-class-with-polymorphic-pointers * Secrets of good OO design * http://stackoverflow.com/questions/3758244/secret-to-achieve-good-oo-design * Separation of concerns : https://en.wikipedia.org/wiki/Separation_of_concerns * D.R.Y. (Don't Repeat Yourself) https://en.wikipedia.org/wiki/Don%27t_repeat_yourself * YAGNI (you arn't gonna need it) : https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it *