Notes about encapsulation

I've written about encapsulation many times, but I've never written a post about encapsulation specifically. "Encapsulation" can mean a lot of things, both because it has many aspects and because we sometimes mean slightly different things when we discuss it. Good encapsulation can mean: That subsystems are communicating only through well-defined, appropriate interfaces; That responsibilities are…