Not: Bu, önceki örneğimden tamamen yeniden yazılmıştır
Prizleri düşünün. Herhangi bir ulusta, üst düzey politika güç prizlerinin her zaman aynı olmasıdır. Size elektrik nereden aldığınız önemli değil (kömür, gaz, nükleer), duvardaki prizler aynı konektör seti aracılığıyla her zaman aynı miktarda güç vermelidir.
Artık bu sokete herhangi bir cihazı bağlayabilirsiniz, çünkü hepsinin ortak bir arayüzü olan "fiş" vardır. Üst düzey politika hiçbir zaman söz konusu uygulama detayının herhangi bir bölümünü dikte etmek zorunda değildir. Sadece bir şey takın ve gider.
Şimdi AC gücü istemeyen bir cihazınız varsa - belki 7V DC devrede çalışıyorsa - yine de bu üst düzey politikayı kullanabilirsiniz, sadece güç kaynağı ile cihaz arasında bir çeşit adaptöre ihtiyacınız var. Ve herkes aynı üst düzey politikaya sahip olduğundan, üretici bunu üst düzey politikada herhangi bir değişiklik yapmadan uygulamaya koyabilir. Uygulamayı ilkeye bağlayan kişinin (siz, dizüstü bilgisayarınızı takmanız) gerçekten de anlaması gerekmez.
Ayrıca, üretici aynı cihazı başka bir ülkede satmak istiyorsa, tek yapması gereken farklı bir adaptör geliştirmek. Dolayısıyla, aynı uygulama birden çok ilke ile çalışabilirken, aynı ilke birden çok uygulama çalıştırabilir.
Bu, bağımlılığın tersine çevrilmesine mükemmel bir örnektir.
Ama işin ilginç tarafı: İlk söylediğime geri dön. "Size nereden elektrik sağladığınız önemli değil." Bu aynı zamanda bir uygulama detayıdır. Üst düzey politika hala tüm prizlerin aynı şekle sahip olması ve aynı tipte güç yaymasıdır. Düşük seviyeli uygulama ayrıntıları, elektriğin nereden geldiği ve ne çalıştırıldığıdır.
Programlama terimleriyle, bu, yüksek düzeyli politikanın (bir dilin desteklediği yerlerde. DI'nin başka bir biçimi ördek yazmasıdır) arayüzü olduğu ve API'nın sağladığı ve uygulamanın tükettiği ve düşük düzeyli uygulama ayrıntılarının hem her ikisini de birbirini anlamak zorunda olmayan API ve kendisini tüketen bir uygulama.
Bağdaştırıcılar aynı uygulamayı farklı politikalara sığdırmak için kullanılabilir.