# Patternsmith > Welcome to Patternsmith, programmatic content Generation with LangGraph - [Page not found](/404/): The page you're looking for doesn’t exist or has moved. Check the URL, use the navigation to browse sections, or return to the homepage. - [Privacy Policy](/privacy/): Learn how we collect, use, and protect your personal data, what rights you have over your information, and how to contact us with questions. - [Blog](/blog/): Read product updates, release highlights, and practical tips that explain what’s new, why it matters, and how to get the most value from this project. ## Blog > Read product updates, release highlights, and practical tips that explain what’s new, why it matters, and how to get the most value from this project. - [Code Smells](/blog/code-smells/): Generated Patternsmith lessons for code smells. - [Design Patterns](/blog/patterns/): Generated Patternsmith lessons for design patterns. - [Programming Fundamentals](/blog/fundamentals/): Generated Patternsmith lessons for programming fundamentals. ### Code Smells > Generated Patternsmith lessons for code smells. - [Data Clumps](/blog/code-smells/data-clumps/): What the Data Clumps code smell is, the problem it addresses, and when to use it -- with worked java examples. - [Feature Envy](/blog/code-smells/feature-envy/): What the Feature Envy code smell is, the problem it addresses, and when to use it -- with worked java examples. - [Large Class](/blog/code-smells/large-class/): What the Large Class code smell is, the problem it addresses, and when to use it -- with worked java examples. - [Long Method](/blog/code-smells/long-method/): What the Long Method code smell is, the problem it addresses, and when to use it -- with worked java examples. - [Long Parameter List](/blog/code-smells/long-parameter-list/): What the Long Parameter List code smell is, the problem it addresses, and when to use it -- with worked java examples. - [Primitive Obsession](/blog/code-smells/primitive-obsession/): What the Primitive Obsession code smell is, the problem it addresses, and when to use it -- with worked java examples. - [Refused Bequest](/blog/code-smells/refused-bequest/): What the Refused Bequest code smell is, the problem it addresses, and when to use it -- with worked java examples. - [Shotgun Surgery](/blog/code-smells/shotgun-surgery/): What the Shotgun Surgery code smell is, the problem it addresses, and when to use it -- with worked java examples. - [Switch Statements](/blog/code-smells/switch-statements/): What the Switch Statements code smell is, the problem it addresses, and when to use it -- with worked java examples. ### Design Patterns > Generated Patternsmith lessons for design patterns. - [Abstract Factory](/blog/patterns/abstract-factory/): What the Abstract Factory design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Adapter](/blog/patterns/adapter/): What the Adapter design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Bridge](/blog/patterns/bridge/): What the Bridge design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Builder](/blog/patterns/builder/): What the Builder design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Chain of Responsibility](/blog/patterns/chain-of-responsibility/): What the Chain of Responsibility design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Command](/blog/patterns/command/): What the Command design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Composite](/blog/patterns/composite/): What the Composite design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Decorator](/blog/patterns/decorator/): What the Decorator design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Facade](/blog/patterns/facade/): What the Facade design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Factory Method](/blog/patterns/factory-method/): What the Factory Method design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Iterator](/blog/patterns/iterator/): What the Iterator design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Mediator](/blog/patterns/mediator/): What the Mediator design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Observer](/blog/patterns/observer/): What the Observer design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Prototype](/blog/patterns/prototype/): What the Prototype design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Proxy](/blog/patterns/proxy/): What the Proxy design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Singleton](/blog/patterns/singleton/): What the Singleton design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [State](/blog/patterns/state/): What the State design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Strategy Pattern](/blog/patterns/strategy-pattern/): What the Strategy Pattern design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Template Method](/blog/patterns/template-method/): What the Template Method design pattern is, the problem it addresses, and when to use it -- with worked java examples. - [Visitor](/blog/patterns/visitor/): What the Visitor design pattern is, the problem it addresses, and when to use it -- with worked java examples. ### Programming Fundamentals > Generated Patternsmith lessons for programming fundamentals. - [Dynamic Dispatch](/blog/fundamentals/dynamic-dispatch/): What the Dynamic Dispatch programming concept is, the problem it addresses, and when to use it -- with worked java examples. - [Encapsulation](/blog/fundamentals/encapsulation/): What the Encapsulation programming concept is, the problem it addresses, and when to use it -- with worked java examples. - [Polymorphism](/blog/fundamentals/polymorphism/): What the Polymorphism programming concept is, the problem it addresses, and when to use it -- with worked java examples.