LEADER 03419oam 2200481 450 001 9910437582003321 005 20190911112725.0 010 $a3-319-02192-3 024 7 $a10.1007/978-3-319-02192-8 035 $a(OCoLC)868689722 035 $a(MiFhGG)GVRL6VSX 035 $a(EXLCZ)993710000000031224 100 $a20131112d2013 uy 0 101 0 $aeng 135 $aurun|---uuuua 181 $ctxt 182 $cc 183 $acr 200 10$aScala design patterns $epatterns for practical reuse and design /$fJohn Hunt 205 $a1st ed. 2013. 210 1$aCham [Switzerland] :$cSpringer,$d2013. 215 $a1 online resource (xxii, 327 pages) $cillustrations (some color) 225 0 $aGale eBooks 300 $aDescription based upon print version of record. 311 $a3-319-02191-5 320 $aIncludes bibliographical references. 327 $aAuthor?s Note -- Part I ? Introduction -- Introduction -- Design Patterns -- UML and Scala -- Part II ? Fundamental Patterns -- Immutability -- Singleton -- Marker Trait -- Delegation -- Part III ? Code Reuse Patterns -- Lazy Parameters -- Partially Applied Functions -- Trait Based Template Operation -- Stackable Traits -- Currying and Code Reuse -- Cake Pattern -- Structural Injection -- Implicit Injection Pattern -- Part IV ? Gang of Four Patterns -- Gang of Four Design Patterns -- Gang of Four Patterns Catalogs -- Factory Operation -- Abstract Factory Pattern -- Builder -- Adapter Pattern -- Decorator -- Facade -- Flyweight -- Proxy -- Filter -- Bridge -- Chain of Responsibility -- Command -- Strategy -- Mediator -- Observer -- State -- Visitor -- Memento -- Part V ? Functional Design Patterns -- Functor -- Applicative Functor -- Monoid Pattern -- Monad Pattern -- Foldable -- Zipper -- Lens Pattern -- View Pattern -- Arrow Pattern. 330 $aScala is a new and exciting programming language that is a hybrid between object oriented languages such as Java and functional languages such as Haskell. As such it has its own programming idioms and development styles. Scala Design Patterns looks at how code reuse can be successfully achieved in Scala. A major aspect of this is the reinterpretation of the original Gang of Four design patterns in terms of Scala and its language structures (that is the use of Traits, Classes, Objects and Functions). It includes an exploration of functional design patterns and considers how these can be interpreted in Scala's uniquely hybrid style. A key aspect of the book is the many code examples that accompany each design pattern, allowing the reader to understand not just the design pattern but also to explore powerful and flexible Scala language features. Including numerous source code examples, this book will be of value to professionals and practitioners working in the field of software engineering. 606 $aScala (Computer program language) 606 $aMultiparadigm programming (Computer science) 615 0$aScala (Computer program language) 615 0$aMultiparadigm programming (Computer science) 676 $a004 676 $a005.1 676 $a005.11 676 $a005.133 700 $aHunt$b John$4aut$4http://id.loc.gov/vocabulary/relators/aut$0351212 801 0$bMiFhGG 801 1$bMiFhGG 906 $aBOOK 912 $a9910437582003321 996 $aScala Design Patterns$92496647 997 $aUNINA