> For the complete documentation index, see [llms.txt](https://gpcoder.gitbook.io/clean-code/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gpcoder.gitbook.io/clean-code/bonus/oop-design-pattern.md).

# OOP Design Pattern

You can refer to some websites below:

* [Refactoring.Guru](https://refactoring.guru/): "Refactoring.Guru makes it easy for you to discover everything you need to know about refactoring, design patterns, SOLID principles, and other smart programming topics."
* [Sourcemaking.com](https://sourcemaking.com/): "I'm SourceMaking. I will tell you a lot of stories about good software architecture and teach you how to create it with design patterns. I will guide you through anti-patterns, common pitfalls and mistakes that people make when they plan, create, and manage software projects. In the end, I will teach you how to smell a bad code and improve it with refactoring."
* Design Patterns are written in Vietnamese by [gpcoder.com](https://gpcoder.com/category/design-pattern/).

Books:

* Design Patterns: Elements of Reusable Object-Oriented Software
* Head First Design Patterns
* Design Patterns For Dummies
* Pattern Hatching: Design Patterns Applied.
* Refactoring to Patterns.
* Patterns of Enterprise Application Architecture.
