My Account Log in

3 options

.NET design patterns : explore the world of .NET design patterns and bring the benefits that the right patterns can offer to your toolkit today / Praseed Pai, Shine Xavier.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central Academic Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Pai, Praseed, author.
Xavier, Shine, author.
Language:
English
Subjects (All):
Computer architecture.
Microsoft .NET Framework.
Physical Description:
1 online resource (307 pages) : color illustrations
Edition:
1st edition
Place of Publication:
Birmingham : Packt, 2017.
System Details:
text file
Biography/History:
Pai Praseed: Praseed Pai has been working in the software industry for the last 25 years, starting his career as a MS-DOS systems programmer using ANSI C. He has been actively involved in developing large-scale, cross-platform, native code-based systems using C++ on Windows, GNU Linux, and macOS X. He has experience in COM+ and CORBA programming using C++. In the last decade, he has worked with Java- and. NET-based systems. He is the primary implementer of the SLANG4. net compilation system, which has been ported to C++ with an LLVM backend. He coauthored. NET Design Patterns, by Packt Publishing. Xavier Shine: 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.
Summary:
Explore the world of .NET design patterns and bring the benefits that the right patterns can offer to your toolkit today About This Book This book is based on the latest version of .NET, .NET Core 1.0. 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 applications Who This Book Is For This 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 Detail Knowing 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...
Contents:
Cover
Copyright
Credits
Foreword
About the Authors
About the Reviewers
www.PacktPub.com
Customer Feedback
Table of Contents
Preface
Chapter 1: An Introduction to Patterns and Pattern Catalogs
OOP - A short history
Patterns and pattern movement
Key pattern catalogs
GoF patterns
POSA catalog
POEAA catalog
EIP catalog
J2EE design patterns catalog
DDD-based patterns
Arlow/Nuestadt patterns
Should we use all of these?
The C# language and the .NET platform
C# language and the singleton pattern
Summary
Chapter 2: Why We Need Design Patterns?
Some principles of software development
Why are patterns required?
A quick foray into the .NET Reflection API
Personal income tax computation - A case study
Archetypes and business archetype patterns
Entity, value, and data transfer objects
A computation engine
The application to engine communication
The plugin system to make system extensible
Factory method pattern and plugins
Finalizing the solution
Design by contract and template method pattern
Using the Facade pattern to expose the computation API
Chapter 3: A Logging Library
Requirements for the library
Solutions approach
Writing content to a media
Template method pattern and content writers
Writing a log entry to a file stream
Writing a log entry to a database
Writing a log entry to a network stream
Logging strategy atop the strategy pattern
The factory method pattern for instantiation
Writing a generic factory method implementation
Factory method, singleton, and prototype pattern for dynamic class loading
Refactoring the code with the generic factory method
A log server for network logging
A simple client program to test the library
Chapter 4: Targeting Multiple Databases.
Requirements for the library
A quick primer on ADO.net
The abstract factory pattern and object instantiation
The SQL server implementation
The SQLite implementation
The Oracle and ODBC implementation
The adapter pattern powered API
The adapter class Implementation
The adapter configuration
The client program
Chapter 5: Producing Tabular Reports
iTextSharp for the PDF output
Composite and visitor pattern - A quick primer
The composite pattern and document composition
Visitor pattern for document traversal
PDFVisitor for PDF generation
HTMLVisitor for HTML generation
Chapter 6: Plotting Mathematical Expressions
Requirements for the expressions library and app
The graph plotter application
The observer pattern for UI events
The expression evaluator and interpreter pattern
The abstract syntax tree (AST)
The grammar of expressions
Lexical analysis
The parser module
The builder, facade, and expression APIs
Chapter 7: Patterns in the .NET Base Class Library
Adapter pattern in the .NET BCL
Strategy pattern in the .NET BCL
Builder pattern in the .NET BCL
Decorator pattern in the .NET BCL
Chain of responsibility pattern in ASP.net
Bridge pattern in the .NET RCW
Factory pattern in the .NET BCL
Observer pattern in the WPF
Composite pattern in the .NET Framework
Facade pattern in the .NET BCL
Iterator pattern in the .NET BCL
Chapter 8: Concurrent and Parallel Programming under .NET
Days of Free Lunch
Days of Sponsored Lunch
Concurrent versus parallel
Some common patterns of parallel programming
Embarrassingly or conveniently parallel
Problem statement.
Solutions approach
Step 1
Step 2
Step 3
Fork/join or master/worker
Speculative execution
Producer/consumer
Chapter 9: Functional Programming Techniques for Better State Management
Being functional
Referential transparency
First-class and higher-order functions
Function type
Lambda (λ) calculus
Anonymous functions
Closures
Currying and partial application
Currying
Partial application
Applying currying and partial application
Expression trees
Recursion
Sample programs
Spell checker
Subset generation
How does LINQ work?
Chapter 10: Pattern Implementation Using Object/Functional Programming
A strategy pattern implementation using FP/OOP
Using FP constructs to make the code better
A fresh look at the iterator pattern using FP/OOP
MapReduce programming idiom
A new spin on the template method pattern using FP/OOP
Using FP for the template method pattern implementation
A quick note on the observer pattern
Does FP replace GoF patterns?
Chapter 11: What is Reactive Programming?
Being reactive
Electronic spread sheets - A quintessential example
Reactive programming model
Functional reactive programming
Reactive programming principles
Rx from Microsoft
Key data structures of Rx
IEnumberable/IObservable duality
Converting entities to streams (IObservable&lt
T&gt
)
Converting events into stream
Reduction of streams (sequences)
Inspection of streams (sequences)
Aggregation of streams (sequences)
Transformation of streams (sequences)
Combining streams (sequences)
A philosophy for reactive programming
Chapter 12: Reactive Programming Using .NET Rx Extensions
Streams as a way of life
Spell checker using events composition
MVVM on Rx
An asynchronous logger.
Near real-time visualizer/dashboard
Chapter 13: Reactive Programming Using RxJS
The JS world
Rx foundations
RxJS formalism
Observables and observers
Observables from arrays
Observables from events
Observables from callbacks
Observable pipeline
Subject et al.
Schedulers
RxJS samples
Real-time file watcher
Change galore
Chapter 14: A Road Ahead
Polyglot programming and design
Polyglot programming with C/C++
The polyglot web programming
The JavaScript evolution
Dynamic/scripting languages
Emergence of functional programming
Mobile revolution
A quick note on polyglot persistence
How to become a polyglot programmer?
Domain-specific languages
Ontology
AntiPatterns
Index.
Notes:
Includes index.
Description based on online resource; title from PDF title page (ebrary, viewed March 2, 2017).
ISBN:
9781786461865
1786461862
OCLC:
973834395

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account