Architecture Patterns with Python
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are taking an interest in high-level software design patterns such as hexagonal/clean architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Python isn't always straightforward.
With this hands-on guide, Harry Percival and Bob Gregory from MADE.com introduce proven architectural design patterns to help Python developers manage application complexity - and get the most value out of their test suites.
Each pattern is illustrated with concrete examples in beautiful, idiomatic Python, avoiding some of the verbosity of Java and C# syntax. Patterns include: Dependency inversion and its links to ports and adapters (hexagonal/clean architecture); Domain-driven design's distinction between Entities, Value Objects, and Aggregates; Repository and Unit of ...
Designing Interfaces, 3rd Edition
Designing good application interfaces isn't easy now that companies need to create compelling, seamless user experiences across an exploding number of channels, screens, and contexts. In this updated third edition, you'll learn how to navigate through the maze of design options. By capturing UI best practices as design patterns this best-selling book provides solutions to common design problems.
You'll learn patterns for mobile apps, web applications, and desktop software. Each pattern contains full-color examples and practical design advice you can apply immediately. Experienced designers can use this guide as an idea sourcebook, and novices will find a road map to the world of interface and interaction design.
Understand your users before you start designing; Build your software's structure so it makes sense to users; Design components to help users complete tasks on any device; Learn how to promote wayfinding in your software; Place elements to guide users to inf ...
Unit Testing Principles, Practices, and Patterns
Unit Testing Principles, Patterns and Practices shows you how to refine your existing unit tests by implementing modern best practices. You'll learn to spot which tests are performing, which need refactoring, and which need to be deleted entirely! Upgrade your testing suite with new testing styles, good patterns and reliable automated testing.
Great testing practices will help maximize your project quality and delivery speed. Wrong tests will break your code, multiply bugs, and increase time and costs. You owe it to yourself - and your projects - to learn how to do excellent unit testing to increase your productivity and the end-to-end quality of your software.
Unit Testing Principles, Patterns and Practices teaches you to design and write tests that target the domain model and other key areas of your code base. In this clearly written guide, you learn to develop professional-quality test suites, safely automate your testing process, and integrate testing thr ...
Monolith to Microservices
How do you detangle a monolithic system and migrate it to a microservice architecture? How do you do it while maintaining business-as-usual? As a companion to Sam Newman's extremely popular Building Microservices, this new book details a proven method for transitioning an existing monolithic system to a microservice architecture.
With many illustrative examples, insightful migration patterns and a bevy of practical advice to transition your monolith enterprise into a microservice operation, this practical guide covers multiple scenarios and strategies for a successful migration, from initial planning all the way through application and database decomposition. You'll learn several tried and tested patterns and techniques that you can use as you migrate your existing architecture.
Ideal for organizations looking to transition to microservices, rather than rebuild; Helps companies determine whether to migrate, when to migrate, and where to begin; Addresses communicati ...
Cloud Native Transformation
In the past few years, going cloud native has been a big advantage for many companies. But it's a tough technique to get right, especially for enterprises with critical legacy systems. This practical hands-on guide examines effective architecture, design, and cultural patterns to help you transform your organization into a cloud native enterprise - whether you're moving from older architectures or creating new systems from scratch.
By following Wealth Grid, a fictional company, you'll understand the challenges, dilemmas, and considerations that accompany a move to the cloud. Technical managers and architects will learn best practices for taking on a successful company-wide transformation.
Cloud migration consultants Pini Reznik, Jamie Dobson, and Michelle Gienow draw patterns from the growing community of expert practitioners and enterprises that have successfully built cloud native systems. You'll learn what works and what doesn't when adopting cloud native - in ...
Functional Design Patterns for Express.js
Ready to design Node.js backends that scale elegantly with new features and are a pleasure to maintain? Learn to apply functional programming patterns that transcend Express.js - these ideas are found in exceptional production codebases of all kinds. Whether you're a seasoned back-end developer, front-end developer or recent web boot camp graduate, this step-by-step guide is for you.
This work was written and produced entirely by the author. We are proud to be distributing it.
Express is arguably the ubiquitous library for building Node backends. As of mid-2019, it is a dependency of 3.75 million codebases on Github alone. So if you hop into a Node codebase, chances are Express is part of it.
Starting from an empty directory, we'll build a full-featured Express backend together and intentionally bump into codebase growing pains to motivate functional design patterns and Express features.
With this book, you'll: Learn Express.js by building a pure backend with ...
Design Patterns in .NET
Implement design patterns in .NET using the latest versions of the C# and F# languages. This book provides a comprehensive overview of the field of design patterns as they are used in today's developer toolbox.
Using the C# programming language, Design Patterns in .NET explores the classic design pattern implementation and discusses the applicability and relevance of specific language features for the purpose of implementing patterns. You will learn by example, reviewing scenarios where patterns are applicable. MVP and patterns expert Dmitri Nesteruk demonstrates possible implementations of patterns discusses alternatives and pattern inter-relationships, and illustrates the way that a dedicated refactoring tool (ReSharper) can be used to implement design patterns with ease.
Know the latest pattern implementations available in C# and F#; Refer to researched and proven variations of patterns; Study complete, self-contained examples i ...
Cloud Native Patterns
Cloud Native Patterns is your guide to developing strong applications that thrive in the dynamic, distributed, virtual world of the cloud. This book presents a mental model for cloud-native applications, along with the patterns practices, and tooling that set them apart.
Cloud platforms promise the holy grail: near-zero downtime, infinite scalability, short feedback cycles, fault-tolerance, and cost control. But how do you get there? By applying cloudnative designs, developers can build resilient, easily adaptable, web-scale distributed applications that handle massive user traffic and data loads. Learn these fundamental patterns and practices, and you'll be ready to thrive in the dynamic, distributed, virtual world of the cloud.
With 25 years of experience under her belt, Cornelia Davis teaches you the practices and patterns that set cloud-native applications apart. With realistic examples and expert advice for working with apps, data, services, routi ...
Dependency Injection Principles, Practices, and Patterns
Dependency Injection Principles, Practices, and Patterns teaches you to use DI to reduce hard-coded dependencies between application components. You'll start by learning what DI is and what types of applications will benefit from it. Then, you'll work through concrete scenarios using C# and the .NET framework to implement DI in your own projects. As you dive into the thoroughly-explained examples, you'll develop a foundation you can apply to any of the many DI libraries for .NET and .NET Core.
Dependency Injection (DI) is a great way to reduce tight coupling between software components. Instead of hard-coding dependencies, such as specifying a database driver, you make those connections through a third party. Central to application frameworks like ASP.NET Core, DI enables you to better manage changes and other complexity in your software.
Dependency Injection Principles, Practices, and Patterns is a revised and expanded edition of the bestselling classic Dependency ...
Developing Data Migrations and Integrations with Salesforce
Migrate your data to Salesforce and build low-maintenance and high-performing data integrations to get the most out of Salesforce and make it a "go-to" place for all your organization's customer information.
When companies choose to roll out Salesforce, users expect it to be the place to find any and all Information related to a customer - the coveted Client 360° view. On the day you go live, users expect to see all their accounts, contacts, and historical data in the system. They also expect that data entered in other systems will be exposed in Salesforce automatically and in a timely manner.
This book shows you how to migrate all your legacy data to Salesforce and then design integrations to your organization's mission-critical systems. As the Salesforce platform grows more powerful, it also grows in complexity. Whether you are migrating data to Salesforce, or integrating with Salesforce, it is important to understand how these complexities need to be reflected in your design. ...
Java Program Design
Get a grounding in polymorphism and other fundamental aspects of object-oriented program design and implementation, and learn a subset of design patterns that any practicing Java professional simply must know in today's job climate.
Java Program Design presents program design principles to help practicing programmers up their game and remain relevant in the face of changing trends and an evolving language. The book enhances the traditional design patterns with Java's new functional programming features, such as functional interfaces and lambda expressions. The result is a fresh treatment of design patterns that expands their power and applicability, and reflects current best practice.
The book examines some well-designed classes from the Java class library, using them to illustrate the various object-oriented principles and patterns under discussion. Not only does this approach provide good, practical examples, but you will learn useful library classes ...