Cargando…

Hands-On Design Patterns with Kotlin : Build Scalable Applications Using Traditional, Reactive, and Concurrent Design Patterns in Kotlin.

Design patterns enable you to speed up the development process by providing tested, proven development paradigms. Reusing design patterns helps prevent complex issues, improves your code base, promotes code reuse, and makes the architecture more robust. This book will ease the adoption of design pat...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Soshin, Alexey
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing Ltd, 2018.
Temas:
Acceso en línea:Texto completo
Tabla de Contenidos:
  • Cover; Title Page; Copyright and Credits; Dedication; Packt Upsell; Contributors; Table of Contents; Preface; Chapter 1: Getting Started with Kotlin; Basic language syntax and features; Multi-paradigm; Code structure; No semicolons; Naming conventions; Packages; Types; Type inference; val versus var; Comparison; Null safety; Declaring functions; Control flow; Using the if expression; Using the when expression; String interpolation; Classes and inheritance; Classes; Inheritance; Constructors; Properties; Data classes; More control flow
  • loops; The for loop; For-each loop; While loop.
  • Extension functionsIntroduction to design patterns; What are design patterns?; Design patterns in real life; Design process; Why use design patterns in Kotlin?; Summary; Chapter 2: Working with Creational Patterns; Singleton; Factory Method; Factory; Static Factory Method; Advantages of the Static Factory Method; Caching; Subclassing; Static Factory Method in Kotlin; Companion object; Abstract Factory; Abstract Factory in action; Introduction to generics in Kotlin; Back to our bases; Making improvements; Builder; Composing an email; Collection types in Kotlin.
  • Creating an email
  • first attemptCreating an email
  • second attempt; Creating an email
  • the Kotlin way; Creating an email
  • the Kotlin way
  • second attempt; Prototype; Building your own PC; Starting from a prototype; Summary; Chapter 3: Understanding Structural Patterns; Decorator; Enhancing a class; Operator overloading; Dude, where's my map?; The great combinator; Caveats; Adapter; Different adapters; Adapters in the real world; Caveats of using adapters; Bridge; Bridging changes; Type aliases; You're in the army now; Constants; A lethal weapon; Composite; Get together; The Squad.
  • Varargs and secondary constructorsCounting bullets; Facade; Keep it simple; Flyweight; Being conservative; Saving memory; Proxy; A short detour into the RMI world; A replacement; Lazy delegation; Summary; Chapter 4: Getting Familiar with Behavioral Patterns; Strategy; Fruit arsenal; Citizen function; Switching sides; Iterator; One, two ... many; Running through the values; State; Fifty shades of State; State of the Nation; Command; Undoing commands; Chain of responsibility; Interpreter; We need to go deeper; A language of your own; Taking a break; Call suffix; Mediator; Trouble in the Jungle.
  • The middlemanFlavors; Caveats; Memento; Remembrance; Visitor; Writing a crawler; Template method; Observer ; Animal Choir; Summary; Chapter 5: Functional Programming; Why functional programming?; Immutability; Tuples; Value mutation; Immutable collections; Functions as values; Higher-order functions; Pure functions; Currying; Memoization; Expressions, not statements; Pattern matching; Recursion; Summary; Chapter 6: Streaming Your Data; The it notation; The map() function; Filter family; Find family; Drop family; Sort family; ForEach; Join family; Fold/Reduce; Flat family; Slice; Chunked.