In this paper, I analyze the relationship between ISP and DIP.
This paper makes 3 contributions:
1. A formal statement of the ownership clause for DIP, making explicit what Martin’s examples illustrate, but his DIP statement does not.
2. A proof that DIP’s ownership clause applied per client implies ISP universally at the class level, with the converse holding only under client-driven
evolution.
3. The identification of three distinct interface evolution origins—client-driven, provider-driven, and shared governance—as the conceptual framework that explains why the ISP-DIP connection was historically hard to see and why ISP retains independent value outside client-driven contexts.
humanfromearth9•50m ago
This paper makes 3 contributions:
1. A formal statement of the ownership clause for DIP, making explicit what Martin’s examples illustrate, but his DIP statement does not. 2. A proof that DIP’s ownership clause applied per client implies ISP universally at the class level, with the converse holding only under client-driven evolution. 3. The identification of three distinct interface evolution origins—client-driven, provider-driven, and shared governance—as the conceptual framework that explains why the ISP-DIP connection was historically hard to see and why ISP retains independent value outside client-driven contexts.