# nebx Learn > SOLID, the 23 Gang of Four design patterns, anti-patterns, AI tooling and performance, explained with interactive demos and code in C++, C#, Go, JavaScript, PHP and Python. Part of nebx (https://nebx.ai/). About nebx: https://nebx.ai/llms.txt Full text: https://learn.nebx.ai/llms-full.txt SOLID, the 23 Gang of Four design patterns, anti-patterns, AI tooling and performance, explained with interactive demos and code in C++, C#, Go, JavaScript, PHP and Python. Languages: C++, C#, Go, JavaScript, PHP, Python. Every language guide has the same sections: Overview, Basics, Best practices, Tips & tricks, SOLID, Design patterns, Anti-patterns, AI utilities, Frameworks, Performance, Use cases. Design patterns covered (Gang of Four): Factory Method, Abstract Factory, Builder, Prototype, Singleton, Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor. Interactive demos with code in all six languages: Factory Method, Singleton, Decorator, Observer, Strategy. ## How to link to a page The guide is a single page with hash routes: https://learn.nebx.ai/#python (a language), https://learn.nebx.ai/#python-solid (a section), https://learn.nebx.ai/#python-p-strategy (a pattern in a language). ## SOLID principles - Single Responsibility: "There should never be more than one reason for a class to change." - Open–Closed: "Software entities should be open for extension, but closed for modification." - Liskov Substitution: "Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it." - Interface Segregation: "Clients should not be forced to depend upon interfaces that they do not use." - Dependency Inversion: "Depend upon abstractions, not concretions."