LibCoder

Learning JavaScript Design Patterns: A JavaScript and React Developer's Guide. 2 Ed

1C Agda JavaScript
Learning JavaScript Design Patterns: A JavaScript and React Developer's Guide. 2 Ed
Автор: Osmani Addy
Дата выхода: 2023
Издательство: O’Reilly Media, Inc.
Количество страниц: 299
Размер файла: 1,4 МБ
Тип файла: PDF
Добавил: LibCoder
Оглавление
Cover....1 Copyright....3 Table of Contents....4 Preface....12 Structure of the Book....13 Conventions Used in This Book....14 Using Code Examples....15 O’Reilly Online Learning....16 How to Contact Us....16 Acknowledgments....16 Chapter 1. Introduction to Design Patterns....18 History of Design Patterns....19 What Is a Pattern?....19 An Everyday Use Case for Design Patterns....21 Summary....22 Chapter 2. “Pattern”-ity Testing, Proto-Patterns, and the Rule of Three....24 What Are Proto-Patterns?....24 The “Pattern” Tests....25 Rule of Three....26 Summary....26 Chapter 3. Structuring and Writing Patterns....28 The Structure of a Design Pattern....28 Well-Written Patterns....29 Writing a Pattern....30 Summary....31 Chapter 4. Anti-Patterns....32 What Are Anti-Patterns?....32 Anti-Patterns in JavaScript....33 Summary....34 Chapter 5. Modern JavaScript Syntax and Features....36 The Importance of Decoupling Applications....36 Modules with Imports and Exports....37 Module Objects....39 Modules Loaded from Remote Sources....40 Static Imports....40 Dynamic Imports....40 Import on Interaction....41 Import on Visibility....41 Modules for the Server....41 Advantages of Using Modules....42 Classes with Constructors, Getters, and Setters....43 Classes in JavaScript Frameworks....45 Summary....46 Related Reading....46 Chapter 6. Categories of Design Patterns....48 Background....48 Creational Design Patterns....49 Structural Design Patterns....49 Behavioral Design Patterns....49 Design Pattern Classes....49 Summary....51 Chapter 7. JavaScript Design Patterns....52 Creational Patterns....52 The Constructor Pattern....53 Object Creation....53 Basic Constructors....55 Constructors with Prototypes....56 The Module Pattern....57 Object Literals....57 The Module Pattern....59 Module Pattern Variations....63 Modern Module Pattern with WeakMap....65 Modules with Modern Libraries....67 The Revealing Module Pattern....68 Advantages....70 Disadvantages....70 The Singleton Pattern....70 State Management in React....74 The Prototype Pattern....75 The Factory Pattern....78 When to Use the Factory Pattern....81 When Not to Use the Factory Pattern....81 Abstract Factories....81 Structural Patterns....82 The Facade Pattern....83 The Mixin Pattern....85 Subclassing....85 Mixins....86 Advantages and Disadvantages....89 The Decorator Pattern....90 Pseudoclassical Decorators....93 Interfaces....94 Abstract Decorators....95 Advantages and Disadvantages....98 Flyweight....99 Using Flyweights....100 Flyweights and Sharing Data....100 Implementing Classical Flyweights....100 Converting Code to Use the Flyweight Pattern....103 A Basic Factory....106 Managing the Extrinsic States....106 The Flyweight Pattern and the DOM....108 Example: Centralized Event Handling....108 Behavioral Patterns....110 The Observer Pattern....110 Differences Between the Observer and Publish/Subscribe Pattern....114 Advantages....117 Disadvantages....117 Publish/Subscribe Implementations....117 The Mediator Pattern....127 A Simple Mediator....128 Similarities and Differences....129 Event Aggregator Use....131 Mediator Use....131 Event Aggregator (Pub/Sub) and Mediator Together....132 Mediator/Middleware in Modern JavaScript....133 Mediator Versus Facade....134 The Command Pattern....134 Summary....136 Chapter 8. JavaScript MV* Patterns....138 MVC....138 Smalltalk-80 MVC....139 MVC for JavaScript Developers....139 Models....140 Views....141 Templating....143 Controllers....145 What Does MVC Give Us?....145 Smalltalk-80 MVC in JavaScript....145 Summary of MVC....146 MVP....146 Models, Views, and Presenters....147 MVP or MVC?....148 MVVM....149 History....149 Model....150 View....150 ViewModel....151 Recap: The View and the ViewModel....151 ViewModel Versus Model....151 Pros and Cons....152 Advantages....152 Disadvantages....152 MVC Versus MVP Versus MVVM....152 Modern MV* Patterns....153 MV* and React.js....153 Summary....154 Chapter 9. Asynchronous Programming Patterns....156 Asynchronous Programming....156 Background....158 Promise Patterns....159 Promise Chaining....160 Promise Error Handling....161 Promise Parallelism....161 Promise Sequential Execution....161 Promise Memoization....161 Promise Pipeline....162 Promise Retry....163 Promise Decorator....163 Promise Race....164 async/await Patterns....164 async Function Composition....164 async Iteration....165 async Error Handling....165 async Parallelism....165 async Sequential Execution....166 async Memoization....166 async Event Handling....166 async/await Pipeline....167 async Retry....167 async/await Decorator....167 Additional Practical Examples....168 Making an HTTP Request....168 Reading a File from the Filesystem....168 Writing to a File on the Filesystem....168 Executing Multiple async Operations....169 Executing Multiple async Operations in Sequence....169 Caching the Result of an async Operation....169 Handling Events with async/await....170 Retrying an async Operation on Failure....170 Creating an async/await Decorator....170 Summary....171 Chapter 10. Modular JavaScript Design Patterns....172 A Note on Script Loaders....172 AMD....173 Getting Started with Modules....173 AMD Modules with jQuery....177 AMD Conclusions....180 CommonJS....180 Getting Started....181 Consuming Multiple Dependencies....182 CommonJS in Node.js....183 Is CommonJS Suitable for the Browser?....183 Related Reading for CommonJS....184 AMD and CommonJS: Competing, but Equally Valid Standards....184 UMD: AMD and CommonJS-Compatible Modules for Plug-ins....185 Summary....190 Chapter 11. Namespacing Patterns....192 Namespacing Fundamentals....192 Single Global Variables....193 Prefix Namespacing....193 Object Literal Notation....194 Nested Namespacing....197 Immediately Invoked Function Expressions....198 Namespace Injection....201 Advanced Namespacing Patterns....203 Automating Nested Namespacing....203 Dependency Declaration Pattern....205 Deep Object Extension....206 Recommendation....208 Summary....209 Chapter 12. React.js Design Patterns....210 An Introduction to React....210 Terminology Used....211 Basic Concepts....211 Higher-Order Components....213 Composing....216 Pros....216 Cons....217 Render Props Pattern....217 Lifting State....219 Children as a Function....221 Pros....222 Cons....222 Hooks Pattern....222 Class Components....223 Restructuring....224 Complexity....225 Hooks....225 State Hook....225 Effect Hook....227 Custom Hooks....228 Additional Hooks Guidance....230 Pros and Cons of Using Hooks....230 React Hooks Versus Classes....233 Static Import....233 Dynamic Import....234 Loadable Components....236 Import on Interaction....237 Import on Visibility....237 Code-Splitting....238 Route-based Splitting....238 Bundle Splitting....239 PRPL Pattern....241 Loading Prioritization....243 Preload in Single-Page Apps....244 Preload + the async Hack....245 Preload in Chrome 95+....245 List Virtualization....245 How Does Windowing/Virtualization Work?....245 Lists....246 Grid....247 Improvements in the Web Platform....249 Conclusions....249 Summary....249 Chapter 13. Rendering Patterns....250 Importance of Rendering Patterns....251 Client-Side Rendering....253 Server-Side Rendering....253 Static Rendering....254 Incremental Static Regeneration....255 On-Demand ISR....256 Summary of Static Rendering....256 Streaming SSR....257 Edge SSR....258 Hybrid Rendering....258 Progressive Hydration....259 Islands Architecture....260 Implementing Islands....260 Pros and Cons....261 React Server Components....262 Hybrid Rendering with RSC and the Next.js App Router....263 Summary....263 Chapter 14. Application Structure for React.js....266 Introduction....266 Group by Module, Feature, or Route....267 Group by File Type....267 Hybrid Grouping Based on Domain and Common Components....268 Application Structure for Modern React Features....269 Redux....270 Containers....270 Hooks....270 Styled Components....271 Other Best Practices....271 Application Structure for Next.js Apps....273 Summary....274 Chapter 15. Conclusions....276 Appendix. References....278 Index....280 About the Author....297 Colophon....297

Описание

Ниже — практический обзор по теме «patterns».

Do you want clean, efficient, manageable code? Do you want to write beautiful, structured, and maintainable JavaScript by applying modern design patterns to the language? Want to stay up-to-date with the latest best practices? If so, the updated second edition of Learning JavaScript Design Patterns is the ideal place to start.

You'll learn about performance and rendering patterns such as server-side rendering and Islands architecture. Author Addy Osmani shows you how to apply modern design patterns to JavaScript and React—including modules, mixins, observers, and mediators. You'll also learn how architectural patterns like MVC, MVP, and MVVM are useful from the perspective of a modern web application developer.

 This book explores:Architectural patterns for structuring your components and appsMore than 20 design patterns in JavaScript and React, applicable for developers at any levelDifferent pattern categories including creational, structural, and behavioralEssential performance patterns including dynamic imports and code-splittingRendering patterns such as server-side rendering, hydration, Islands architecture, and moreAdditionally, you'll explore modern JavaScript syntax like JavaScript modules, React patterns like Hooks, higher-order components (HOCs), and more, to stay ahead in the ever-evolving world of web development.

Файл доступен для загрузки ниже.

patterns javascript design react modern want including rendering

Частые вопросы

Можно ли скачать «Learning JavaScript Design Patterns: A JavaScript and React Developer's Guide. 2 Ed» бесплатно?

Да, «Learning JavaScript Design Patterns: A JavaScript and React Developer's Guide. 2 Ed» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.

В каком формате и какого размера файл?

Книга предоставляется в формате PDF, размер файла 1,4 МБ.

Кто автор и когда вышла книга?

автор — Osmani Addy, издательство O’Reilly Media, Inc., год выпуска 2023, 299 страниц.

О чём книга «Learning JavaScript Design Patterns: A JavaScript and React Developer's Guide. 2 Ed»?

Do you want to write beautiful, structured, and maintainable JavaScript by applying modern design patterns to the language?

Похожие материалы