Diğer cevapların çoğu, sorunuzda önemli bir bilginin eksik olduğunu gözden kaçırmış gibi görünüyor - bize okuyacağınız ve yazacağınız belgelerin ilişkili olup olmadığını ve nasıl olduğunu anlatmadınız!
Uygulamanız "belge nesnesi" gibi bir şeye sahip mi ve bunu önce bir PDF dosyasına yazar ve daha sonra aynı dosyayı tekrar benzer bir belge nesnesine okur mu? Ya da tam tersi, PDF'leri bir belgeye okur, üzerinde bazı değişiklikler yapar ve aynı belgeyi tekrar yeni bir PDF'ye kaydeder mi? O halde okuma ve yazma tek bir sorumluluk olarak görülmelidir. Uygulamanız "PDF düzenleyici" bileşeni veya "PDF düzenleme araç seti" gibi bir şey içeriyorsa veya içeriyorsa durum bu olabilir.
Bununla birlikte, uygulamanızın bir kısmı, örneğin bir raporlama bileşeninde bazı PDF dosyaları oluşturuyorsa ve uygulamanızın alakasız başka bir kısmı farklı PDF'leri (örneğin, bir arama motoru için posta eki değerlendiricisi) ve bu ikinci PDF'lerin ilk kullanım durumu ile hiçbir ortak yanı yoktur, o zaman bu görevler farklı sorumluluklardır.
Özellikle PDF için, bu ikinci kullanım durumu farklı tür uygulamalarda daha sık gördüğüm durumdur. Sadece PDF oluşturmayı destekleyen çok daha fazla kütüphane / bileşen ve PDF okumayı da destekleyen çok daha küçük bir sayı var. PDF dosyalarını oluşturmak için tek bir kütüphane ve PDF'leri okumak için tamamen farklı bir kütüphane kullanacaksanız, PDF okuma ve yazmanın ayrı sorumluluklar olacağı açık olmalıdır.