Ero solo curioso, è qualcosa che penso che la maggior parte delle persone sia consapevole di una tecnica:
Hai alcuni dati abominevoli che devono essere semplicemente analizzati e non puoi fare nulla per semplificare l'algoritmo per farlo, quindi il meglio che puoi fare è isolare la complessità di quell'algoritmo in un posto piuttosto che avere parti dell'algoritmo disseminato ovunque. Quindi, dopo averlo isolato, cementare i confini di esso con qualche interfaccia o contratto per garantire che la complessità non sfugga.
Da dove viene questa unità per isolare le complessità dal vivo nella libreria dei principi di progettazione? Non penso che sia uno dei principi di progettazione formalmente documentati parola per parola, anche se suppongo che ce ne siano uno o due che si sovrappongono molto strettamente a questo.