.NET Design Patterns
eBook - ePub

.NET Design Patterns

Praseed Pai, Shine Xavier

Compartir libro
  1. 314 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

.NET Design Patterns

Praseed Pai, Shine Xavier

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

Explore the world of.NET design patterns and bring the benefits that the right patterns can offer to your toolkit todayAbout This Book• Dive into the powerful fundamentals of.NET framework for software development• The code is explained piece by piece and the application of the pattern is also showcased.• This fast-paced guide shows you how to implement the patterns into your existing applicationsWho This Book Is ForThis book is for those with familiarity with.NET development who would like to take their skills to the next level and be in the driver's seat when it comes to modern development techniques. Basic object-oriented C# programming experience and an elementary familiarity with the.NET framework library is required.What You Will Learn• Put patterns and pattern catalogs into the right perspective• Apply patterns for software development under C#/.NET• Use GoF and other patterns in real-life development scenarios• Be able to enrich your design vocabulary and well articulate your design thoughts• Leverage object/functional programming by mixing OOP and FP• Understand the reactive programming model using Rx and RxJs• Writing compositional code using C# LINQ constructs• Be able to implement concurrent/parallel programming techniques using idioms under.NET• Avoiding pitfalls when creating compositional, readable, and maintainable code using imperative, functional, and reactive code.In DetailKnowing about design patterns enables developers to improve their code base, promoting code reuse and making their design more robust.This book focuses on the practical aspects of programming in.NET. You will learn about some of the relevant design patterns (and their application) that are most widely used. We start with classic object-oriented programming (OOP) techniques, evaluate parallel programming and concurrency models, enhance implementations by mixing OOP and functional programming, and finally to the reactive programming model where functional programming and OOP are used in synergy to write better code.Throughout this book, we'll show you how to deal with architecture/design techniques, GoF patterns, relevant patterns from other catalogs, functional programming, and reactive programming techniques.After reading this book, you will be able to convincingly leverage these design patterns (factory pattern, builder pattern, prototype pattern, adapter pattern, facade pattern, decorator pattern, observer pattern and so on) for your programs. You will also be able to write fluid functional code in.NET that would leverage concurrency and parallelism!Style and approachThis tutorial-based book takes a step-by-step approach. It covers the major patterns and explains them in a detailed manned along with code examples.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es .NET Design Patterns un PDF/ePUB en línea?
Sí, puedes acceder a .NET Design Patterns de Praseed Pai, Shine Xavier en formato PDF o ePUB, así como a otros libros populares de Computer Science y Programming in C#. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
2017
ISBN
9781786461865
Edición
1

.NET Design Patterns


.NET Design Patterns

Copyright © 2017 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: January 2017
Production reference: 1250117
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78646-615-0
www.packtpub.com

Credits

Authors
Praseed Pai
Shine Xavier
Copy Editor
Sonia Mathur
Reviewers
Soumya Mukherjee
Vidya Vrat Agarwal
Project Coordinator
Izzat Contractor
Commissioning Editor
Kunal Parikh
Proofreader
Safis Editing
Acquisition Editor
Denim Pinto
Indexer
Francy Puthiry
Content Development Editor
Siddhi Chavan
Graphics
Jason Monteiro
Technical Editor
Sunith Shetty
Production Coordinator
Shraddha Falebhai

Foreword

We are living in an era where most of the things that we do are getting automated through software. Even though, there is definite trend towards pre-packaged software modules and platforms, there is always a place for custom software development and integration projects. In the Enterprise world, .NET and Java EE are the natural platforms of choice for custom software development and deployments. With Agile software development methods, continuous delivery and Domain-Driven Design dominating the scene, there is a need for standardization and communication about software artifacts in a “platform-agnostic” manner. In this context, software design patterns becomes a primary tool for such communications.
You have in your hands a book that encompasses more than four decades of collective wisdom amassed by these two authors, as part of their continuous pursuit of knowledge and excellence, in the software engineering and technology consulting arena. What is more significant is the fact that these knowledge representations are a direct reflection of a practitioner’s mindset; some of those have been undertaken for our organization under our supervision! This is more than a reference book and should be looked at as a handbook for developers who are aspiring to take their skills to the next level and design state-of-the-art systems independently. This is undoubtedly a book that helps unfold many underlying principles that further educate and help one appreciate the various programming paradigms that are in vogue, as I write this foreword.
We have been continuously disrupting and pushing computing limits way beyond CPUs and GPUs over the past five decades. It is quite amazing to see the ground the authors have covered, in terms of contemplating the evolution of software design, patterns and idioms, to help developers create scalable and consistent code. More than coverage, their focus has been on certain aspects of design that help you create well structured (leveraging GoF patterns), scalable (through concurrent and parallel programming) and reliable (through functional and reactive programming) code with some of the .NET platform tools that transcend conventional imperative programming techniques.
At the core, the book deals with how pattern-based software development helps one to write better code. The authors have deliberately crafted the book to convey how various development patterns that are part of different catalogues can be put to use in a coordinated manner to write good quality code in .NET. The book covers how one can use GoF, POSA, DDD, POEAA, and EIP catalogue in the C# programming language.
Praseed and Shine are part of UST Global’s Technology Consulting group and have been collaborating professionally for the last ten years. They truly complement each other when it comes to software design and development. Their command over computer science first principles, ability to learn new technologies, appetite for challenges, and passion for software design is truly commendable. This makes their technology leadership invaluable to any professional organization.
Leveraging the core platform features (in this case, .NET) in tandem with industry-standard best practices (in this case, proven design pattern catalogues and idioms) is the need of the hour and becomes a clear differentiator when it comes to delivering high quality, scalable, and consistent code. This clearly is any developer’s best hedge in the present day's highly volatile technology landscape. I believe the authors have tried their best in articulating this with anecdotes and detailed code samples, and I hope that, after reading this book, you will feel the same way.
Arun Narayanan
COO, UST Global

About the Authors

Praseed Pai is a software engineering/re-engineering professional with good business acumen, technical competency, and software engineering skills. He has presented on various topics in more than two hundred technical events in the last decade and half. His areas of interest include software architecture, design patterns, domain-specific languages, engineering software development, computer graphics, and machine learning. Currently, he is associated with the UST global as a senior solutions architect in their consulting division. He is also the primary force behind the SLANGFORDOTNET compiler infrastructure, which has been ported to VB.NET (CLR), Java (JVM), C++ (LLVM), Python, JavaScript, and Ruby. He lives in the city of Kochi with his wife and two kids.
I would like to start off thanking my co-author Shine Xavier for undertaking this journey along with me. An important acknowledgment goes to my longtime collaborator and friend Shalvin PD, who introduced us to Denim Pinto of Packt. I would like to acknowledge the contributions of Aneesh P Revi, Nikhil Nair, Sarath Soman, Vaisakh Babu, Haridas Nair, John Thomas, Biju Alapat, Joseph Abraham, Shaji P Dayanandan, and members of the Kerala Microsoft Users Group (KMUG) while working on the content of the book. I would like to thank my parents, Mrs. Mohana T Pai and the late K.J. Thrivikrama Pai, who taught me the value of continuous learning. I whole heartedly thank my wife, Sandhya L Kammath, for giving encouragement and taking care of our domestic issues herself, while I was writing this book. Being a developer herself, I could get different perspectives on the content I was writing. Last, but not least, Sidharth Pai and Karthik Pai, my sons, for allowing me to concentrate on the book, by not bothering much with their usual demands! Finally, I thank the wonderful folks at Packt and the two reviewers who helped us to make the book better.
Shine Xavier is a core software engineering practitioner with an extreme passion for designing/building software solutions, application frameworks, and accelerators that help maintain productivity, code quality, performance, and security. His areas of interest include functional programming, interpreters, JavaScript library development, visual programming, algorithms, performance engineering, automation, enterprise mobility, IoT and machine learning. He is currently associated with UST Global as a senior architect, where he continues to provide technical leadership in customer engagements, pre-sales, practice development, product development, innovation, and technology adoption. He lives with his wife and three kids in Thiruvananthapuram, Kerala, India.
I would like to start off thanking my colleague and mentor Praseed Pai for choosing me to co-author this book. It has been a joy and privilege penning this book along with you, my friend! There are others without whom I wouldn’t have been able to complete this book. In particular, I would like to thank: the folks at Packt (Denim Pinto, Pooja Mhapsekar, Siddhi Chavan, and Sunith Shetty) who were really patient and inspiring us throughout this journey and the technical reviewers Soumya Mukherjee and Vidya Vrat Agarwal, who really pushed us all along to get this book one knot better. This book has become a lot better and taken its present shape because of you all! My teachers and friends in school and college, mentors (Arun Narayanan and Sunil Balakrishnan), colleag...

Índice