57 minutes ago · Tech · hide · 0 comments

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 divided among subsystems appropriately and, specifically, that one subsystem is not responsible for too many things; That, if something is wrong with X, you can work in the subsystem responsible for X without having to look inside other subsystems; That abstraction barriers exist and are enforced. You could spend a long time distinguishing among these, arguing that some are equivalent, or arguing that one is more important than others. That's well worth doing, but for now, we can consider this rough cluster of ideas. Getting this right is hard, and we (the industry) have not historically done…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.