• Complain

Gregory Bob - Enterprise Architecture Patterns with Python

Here you can read online Gregory Bob - Enterprise Architecture Patterns with Python full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2019, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Gregory Bob Enterprise Architecture Patterns with Python

Enterprise Architecture Patterns with Python: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Enterprise Architecture Patterns with Python" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Gregory Bob: author's other books


Who wrote Enterprise Architecture Patterns with Python? Find out the surname, the name of the author of the book and a list of all author's works by series.

Enterprise Architecture Patterns with Python — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Enterprise Architecture Patterns with Python" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Enterprise Architecture Patterns with Python

by Harry Percival and Bob Gregory

Copyright 2020 OReilly Media. All rights reserved.

Printed in the United States of America.

Published by OReilly Media, Inc. , 1005 Gravenstein Highway North, Sebastopol, CA 95472.

OReilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://oreilly.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or corporate@oreilly.com .

  • Editors: Chris Guzikowski and Eleanor Bru
  • Production Editor: Katherine Tozer
  • Copyeditor: To come
  • Proofreader: To come
  • Indexer: To come
  • Interior Designer: David Futato
  • Cover Designer: Karen Montgomery
  • Illustrator: Rebecca Demarest
  • March 2020: First Edition
Revision History for the Early Release
  • 2019-08-26: First Release

See http://oreilly.com/catalog/errata.csp?isbn=9781492052203 for release details.

The OReilly logo is a registered trademark of OReilly Media, Inc. Enterprise Architecture Patterns with Python, the cover image, and related trade dress are trademarks of OReilly Media, Inc.

The views expressed in this work are those of the authors, and do not represent the publishers views. While the publisher and the authors have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the authors disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellectual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights.

978-1-492-05220-3

[To come]

Preface

You may be wondering, who we are, and why we wrote this book.

At the end of Harrys last book,Test-Driven Development with Python,he found himself asking a bunch of questions about architecturewhats thebest way of structuring your application so that its easy to test? Morespecifically, so that your core business logic is covered by unit tests, and sothat we minimise the number of integration and end-to-end tests we need? Hemade vague references to Hexagonal Architecture and Ports and Adapters andFunctional Core, Imperative Shell, but if he was honest, hed have to admitthat these werent things he really understood or had done in practice.

And then he was lucky enough to run into Bob, who has the answers to all thesequestions.

Bob ended up a software architect because nobody else on his team wasdoing it. He turned out to be pretty bad at it, but he was lucky enough to runinto Ian Cooper, who taught him new ways of writing and thinking about code.

Managing Complexity, Solving Business Problems

We both work for MADE.com - a European e-commerce company who sell furnitureonline - where we apply the techniques in this book to build distributed systemsthat model real world business problems. Our example domain is the first systemBob built for MADE, and this book is an attempt to write down all the stuff wehave to teach new programmers when they join one of our teams.

MADE.com operate a global supply chain of freight partners and manufacturers.To try and keep costs low, we try to optimise the delivery of stock to ourwarehouses so that we dont have unsold goods lying around the place.

Ideally, the sofa that you want to buy will arrive in port on the very daythat you decide to buy it, and well ship it straight to your house withoutever storing it. Getting the timing right is a tricky balancing act when goods take3 months to arrive by container ship. Along the way things get broken, or waterdamaged; storms cause unexpected delays, logistics partners mishandle goods,paperwork goes missing, customers change their minds and amend their orders,and so on.

We solve those problems by building intelligent software that represents thekind of operations taking place in the real world so that we can automate asmuch of the business as possible.

Why Python?

If youre reading this book, we probably dont need to convince you that Pythonis great, so the real question is Why does the Python community need a booklike this?

The answer is about Pythons popularity and maturity - although Python isprobably the worlds fastest-growing programming language, and nearing the topof the absolute popularity tables, its only just starting to take on the kindsof problems that the C# and Java world have been working on for years.Startups become real businesses, web apps and scripted automations are becoming(whisper it) enterprise software.

In the Python world, we often quote the Zen of Python:there should be oneand preferably only oneobvious way to do it.Unfortunately, as project size grows, the most obvious way of doing thingsisnt always the way that helps you manage complexity and evolvingrequirements.

None of the techniques and patterns were going to discuss in this book arenew, but they are mostly new to the Python world. And this book wont bea replacement for the classics in the field likeEric Evans Domain-Driven DesignorMartin Fowlers Patterns ofEnterprise Application Architecture (both of which we often refer to andencourage you to go and read).

But all the classic code examples in the literature do tend to be written inJava or C++/#, and if youre a Python person and havent used either of thoselanguages in a long time (or indeed ever), it can make them quite trying.Theres a reason the latest edition of that other classic text, Refactoring is in JavaScript.

So we hope this book will make for a lightweight introduction to someof the key architectural patterns that support domain-driven design(DDD) and event-driven microservices, that it will serve as a referencefor implementing them in a Pythonic way, and that it will serve as afirst step for those who want to do further research in this field.

Who Should Read This Book

Here are a few things we assume about you, dear reader.

We assume youve been close to some reasonably complex Python applications.

We assume youve seen some of the pain that comes with trying to managethat complexity.

We do not assume that you already know anything about DDD, or any of theclassic application architecture patterns.

We structure our explorations of architectural patterns around an example app,building it up chapter by chapter. We use test-driven development (TDD) atwork, so we tend to show listings of tests first, followed by implementation.If youre not used to working test-first, it may feel a little strange atthe beginning, but we hope youll soon get used to seeing code being used,i.e. from the outside, before you see how its built on the inside.

We use some specific Python (version 3) frameworks and technologies, likeFlask, SQLAlchemy, and Pytest, as well as Docker and Redis. If youre alreadyfamiliar with them, that wont hurt, but we dont think its required. One ofour main aims with this book is to build an architecture where specifictechnology choices become minor implementation details.

A Brief Overview of What Youll Learn
Part 1: Dependency Inversion and Domain Modelling
Chapter 1: Domain Modelling and DDD

At some level, everyone has learned the lesson that complex businessproblems need to be reflected in code, in the form of a model of the domain.But why does it always seem to be so hard to do it, without getting tangledup with infrastructure concerns, with our web frameworks, or whatever else?In this chapter we give a broad overview of

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Enterprise Architecture Patterns with Python»

Look at similar books to Enterprise Architecture Patterns with Python. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Enterprise Architecture Patterns with Python»

Discussion, reviews of the book Enterprise Architecture Patterns with Python and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.