Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Software Patterns Made Easy
Software Patterns Made Easy
Software Patterns Made Easy
Ebook164 pages1 hour

Software Patterns Made Easy

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Design patterns are just as complicated as writing code. They are solutions to a class of problems readily available for use for your code. Design patterns also allow you to share solutions other programmers have discovered.

Design Patterns Made Easy represent insightful solutions

LanguageEnglish
Release dateSep 10, 2021
ISBN9781914264122
Software Patterns Made Easy

Related to Software Patterns Made Easy

Related ebooks

Enterprise Applications For You

View More

Related articles

Reviews for Software Patterns Made Easy

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Software Patterns Made Easy - Justice Nanhou

    Software Patterns

    Made Easy

    Justice Nanhou

    Copyrights Reserved © 2021- Justice Nanhou

    Table of Contents

    Disclaimer ......................................................................................

    Acknowledgments .........................................................................

    Introduction ...................................................................................

    What Are Design Patterns and Why Do You Need Them? ......

    What Are Design Patterns and Where Do They Originate From

    Structure of a Design Pattern ......................................................

    Benefits of Design Patterns .........................................................

    Creational Design Patterns ..........................................................

    Abstract Factory ..........................................................................

    Builder .........................................................................................

    Factory Method ...........................................................................

    Prototype .....................................................................................

    Singleton .....................................................................................

    Structural Design Patterns ...........................................................

    Adapter ........................................................................................

    Bridge ..........................................................................................

    Composite ...................................................................................

    Decorator .....................................................................................

    Façade .........................................................................................

    Behavioural Design Patterns .......................................................

    Chain of Responsibility ...............................................................

    Command ....................................................................................

    Interpreter ....................................................................................

    Strategy .......................................................................................

    Visitor Pattern .............................................................................

    How Can You Apply Design Patterns .........................................

    Uses of Design Patterns ..............................................................

    Creational Design Patterns ..........................................................

    Factory Method ...........................................................................

    Abstract Factory Method .........................................................

    Builder .....................................................................................

    Prototype .................................................................................

    Singleton ..................................................................................

    Structural Design Patterns .......................................................

    Adaptor ....................................................................................

    Composite ................................................................................

    Decorator .................................................................................

    Façade ......................................................................................

    Behavioural Design Patterns .......................................................

    Chain of Responsibility ...........................................................

    Command ................................................................................

    Interpreter ................................................................................

    Strategy ....................................................................................

    Visitor ......................................................................................

    Overview of Modern Concurrency and Parallelism Concepts .

    Concurrency vs. Parallelism .......................................................

    Processes and Threads ................................................................

    Green Threads .............................................................................

    Protothreads ................................................................................

    Fibers ...........................................................................................

    Generators ...................................................................................

    Coroutines ...................................................................................

    Goroutines ...................................................................................

    Actors ..........................................................................................

    LMAX Disruptor .........................................................................

    Common Software Architectural Patterns .................................

    What is an Architectural Pattern? ...............................................

    Layered Pattern ...........................................................................

    The Most Commonly Found 4 Layers Of A General

    Information System .................................................................

    Usage .......................................................................................

    Client-Server Pattern ...................................................................

    Usage .......................................................................................

    Master-Slave Pattern ...................................................................

    Usage .......................................................................................

    Pipe-Filter Pattern .......................................................................

    Usage .......................................................................................

    Broker Pattern .............................................................................

    Usage .......................................................................................

    Peer-to-Peer Pattern ....................................................................

    Usage .......................................................................................

    Event-Bus Pattern .......................................................................

    Usage .......................................................................................

    Model-View-Controller Pattern ..................................................

    Usage .......................................................................................

    Blackboard Pattern ......................................................................

    Usage .......................................................................................

    Interpreter Pattern .......................................................................

    Usage .......................................................................................

    Authentication and Authorisation ...............................................

    Authentication .............................................................................

    Local Authentication ...................................................................

    Two Factor Authentication ......................................................

    The second factor required in two-step authentication

    process can be: .........................................................................

    A knowledge Factor ................................................................

    A possession Factor .................................................................

    An inherence Factor ................................................................

    A location Factor .....................................................................

    Multi Factor Authentication ....................................................

    Authorization ..............................................................................

    Access Control ............................................................................

    Discretionary Access Control ..................................................

    Role-Based Access Control .....................................................

    Attribute-Based Access Control ..............................................

    Mandatory Access Control ......................................................

    Events and Events Processing ......................................................

    What are Events? ........................................................................

    Event Programming ....................................................................

    Complex Event Processing .........................................................

    How Complex Event Processing Works .....................................

    Stream Processing .........................................................................

    What is Stream Processing? ........................................................

    How does it work? ......................................................................

    Use Cases ....................................................................................

    Real-Time Fraud and Anomaly Detection ..............................

    Internet of Things (IoT) Edge Analytics .................................

    Real-Time Personalization, Marketing and Advertising .........

    Stateless VS Stateful Stream Processing ....................................

    Microservices .................................................................................

    What is Microservices? ...............................................................

    A brief history of microservices ..................................................

    The Six Characteristics of Microservices ...................................

    1. Multiple Components .......................................................

    2. Built for Business .............................................................

    3. Simple Routing ................................................................

    4. Decentralised ....................................................................

    5. Failure Resistant ...............................................................

    6. Evolutionary .....................................................................

    Microservices Can Increase the Efficiency of Business .............

    Database .........................................................................................

    What is Database? .......................................................................

    What is Database Management System? ....................................

    Benefits of Database Management System .................................

    Data security ............................................................................

    Data sharing .............................................................................

    DBMS helps to create an atmosphere where end users have

    better access to more efficiently-managed data. .....................

    Data access and auditing .........................................................

    Data integration .......................................................................

    Abstraction and independence .................................................

    Uniform management and administration ...............................

    Types of Database Management Systems ...................................

    Hierarchical Databases ............................................................

    Network Databases ..................................................................

    Relational Databases ...............................................................

    NoSQL Databases ...................................................................

    Criticism ........................................................................................

    Targets the Wrong Problem ........................................................

    Lacks Formal Foundations ..........................................................

    Leads to Inefficient Solutions .....................................................

    Disclaimer

    Software Patterns Made Easy

    No part of this book can be transferred or replicated in any form, which includes print, electronic, photocopying, scanning, mechan-ical, or recording without subsequent written permission from the author.

    While the author has taken the utmost efforts to ensure the accu-racy of the written content, all readers are advised to follow the information stated therein at their own risk. The author will not be held responsible for any individual or economic damage caused by the misunderstanding of information. All readers of this book are encouraged to seek expert advice when required.

    This book has been written for informational purposes only. Efforts have been made to make this book as comprehensive and precise as possible. Nevertheless, there may be mistakes in typogra-phy or content. Also, this book provides information only up to the publishing date. Therefore, this book should be used as a guide -

    not as the ultimate source.

    The primary purpose of this book is to teach readers about the topic being discussed. The writer and the publisher do not warrant that the information contained in this book is comprehensive and will not be held responsible for any errors or oversights. The writer and publisher will have neither accountability nor blame to any individual or Object in regards to any loss or damage which is caused or alleged to be caused directly or indirectly through this book.

    Acknowledgments

    To all the individuals I have had the opportunity to lead, be led by, or watch their leadership from afar, I want to thank you for inspiring and motivating me.

    I would like to thank my lovely parents, Louisette and Jean Nanhou. My tutor and second father, Christian Seudieu and his family for their advice.

    Having an idea and turning it into a book is as hard as it sounds.

    The experience is both internally challenging and rewarding. I want to thank the individuals that helped make this happen, especially Walter Krasniqi, Ryan Fernandez and their amazing publishing team.

    Finally, the heavenly father for inspiration and daily strength.

    Introduction

    If you are ever writing code and get the funny feeling that you have solved the problem you were working on before, you probably have! You might well have come across the same kind of situation in the past, felt puzzled about it, and came up with a solution to that problem. This might have happened quite a few times.

    However,

    Enjoying the preview?
    Page 1 of 1