Change the future

Saturday 10:50 a.m.–11:20 a.m.

Boundaries

Gary Bernhardt

Audience level:
Experienced
Category:
Best Practices/Patterns

Description

An exploration of the boundaries between pieces of code, including: isolated testing, behavior vs. data, mutation vs. immutability, how data shape affords parallelism, transforming interface dependencies into data dependencies, and what it might look like to build systems using all of these to guide the boundaries between objects and components.

Abstract

This talk will explore the boundaries between pieces of code in depth. We'll start with the idea of isolated testing—mocking everything except the class under test. We'll examine the drawbacks of that method, asking how we might fix them without losing the benefits. This will lead us to a discussion of behavior vs. data, mutation vs. immutability, how data shape affords parallelism, transforming interface dependencies into data dependencies, and what it might look like to build systems using all of these to guide the boundaries between objects and components.