Is your JavaScript messy and hard to test? Learn how classic design patterns can transform your code into a clean, layered architecture.
#1about 5 minutes
Introduction to JavaScript design patterns
The talk addresses common issues in JavaScript development like single-file apps and global state by applying established design patterns.
#2about 3 minutes
Organizing code with a service, view, and controller
Refactor a single-file application into separate service, view, and controller layers using the single responsibility principle and a factory for instantiation.
#3about 3 minutes
Using the abstract factory for multi-platform support
The abstract factory pattern enables sharing a common codebase across different platforms like web and command-line by abstracting platform-specific implementations.
#4about 2 minutes
Building complex objects with builder and fluent interface
The builder pattern simplifies the construction of complex objects by breaking it into steps, while the fluent interface pattern allows for chainable method calls.
#5about 2 minutes
Creating robust tests with the test data builder pattern
The test data builder pattern helps create maintainable tests by centralizing the creation of mock data and entities for various test scenarios.
#6about 2 minutes
Implementing the observer pattern for event-driven code
The observer pattern allows multiple objects to subscribe and react to events, decoupling the publisher from its subscribers for tasks like logging and analytics.
#7about 4 minutes
Injecting logic dynamically with the decorator pattern
Implement the decorator pattern in vanilla JavaScript to add functionality like performance measurement to existing functions without altering their core logic.
#8about 4 minutes
Processing large datasets with the iterator pattern and streams
Use the iterator protocol with streams and the `yield` keyword to process data on demand, preventing UI blocking and improving performance with large datasets.
#9about 3 minutes
Audience Q&A on patterns, typescript, and frameworks
The speaker answers audience questions about private class fields, using patterns with frameworks like React Native, and the rationale for teaching vanilla JavaScript over TypeScript.
Related jobs
Jobs that call for the skills explored in this talk.
Dev Digest 215: Agent Memory, JS2026, Googlebot Analysis & Canvas❤️HTMLInside last week’s Dev Digest 215 .
🗿 Make AI talk like a caveman
🧠 A guide to context engineering for LLMs
🤖 Simon Willison on agentic engineering
🔐 Axios supply chain attack post mortem
🛡️ Designing AI agents to resist prompt injection
🎨 HTML in c...
Dev Digest 213: Petrol Prices, Agentic Workflows, AI Skills and CODE100!Inside last week’s Dev Digest 213 .
🤫 Don’t tell your LLM that it is an expert
👻 AI generated code is invisible
🔄 Learn about agentic workflows
🛡️ Linux Foundation sponsors fight against AI slop
🦠 1M users infected by Chrome extension
🫃 The why of J...
Daniel Cranney
3 JavaScript-Free Techniques for Accordions, Dialogs, and Table of ContentsIf you’ve ever read the WeAreDevelopers Magazine before, you’ll know we love showing developers how to take advantage of native platform features and avoid over-engineering UI’s with frameworks or pre-built components.
So, when we came across Théodor...
From learning to earning
Jobs that call for the skills explored in this talk.