Modüler programlama, büyük bir yazılım programının bileşenlerini yönetilebilir parçalara bölerek yazılımı tasarlamak için kullanılan bir yöntemdir. Bu parçalar veya "modüller" bağımsız olarak geliştirilebilir, test edilebilir ve rafine edilebilir. Genellikle geliştirme süresini kısaltmaya yardımcı olan ve kodu çoğaltmaktan kaçınmaya yardımcı olan bir işlemdir.
Yazılım içindeki ortaklıkları belirlemek, modüler programlamanın temelidir. Benzer nesneleri ve süreçleri birlikte gruplayarak ve sonuçta ortaya çıkan her modülün iyi çalıştığından emin olarak, tüm sistemin düzgün çalışması geliştirilir. Diğer bir deyişle, modüller orada hangi modülün yapılacağı konusunda iyi çalışıyorsa, bir araya getirildiklerinde daha iyi çalışırlar.
Modüller arasındaki minimum bağımlılıklar, modüler program tasarımının bir başka önemli özelliğidir. Minimal bağımlılıklar, bir modül içindeki nesneler arasında birçok ilişki olabileceği ve ayrı modüllerdeki nesneler arasında çok az ilişki olabileceği anlamına gelir. Bir programdaki bağımlılık derecesini değerlendirmek için yazılım geliştiriciler, eşleşme olarak bilinen bir ölçüm işlemi kullanır. Yazılım programının amacına bir bütün olarak ulaşmak için modüllerin bir arada çalışması için bazı bağlamalar gereklidir, ancak hata olasılığını azaltmak için, az bağlantı bir modüler programlama açısından en iyisidir.
Bilgi gizleme, yine de modüler programlamada sıkça kullanılan başka bir özellik de, işleri düzene koymada ve hataları ve fazlalıkları azaltmada yardımcı olur. Temel olarak, bu özellik yalnızca gerekli olanlara sağlanan bilgi miktarını kısıtlar. Ek olarak, belki ilgili olsa da, programın içindeki başka bir modülden bilgi isteyen yazılım kullanıcısına veya program modülüne bilgi aktarılmaz.
Modüler programlama tipik olarak, her modülün kodlanmasında veya programlanmasında tutarlılık sağlayan bir derlenmiş kod kütüphanesini kullanır. Bir program Modül A, Modül B ve Modül C'den oluşuyorsa, tüm bu modüller tüm modüller arasında tekrar kullanılabilen tek bir kod kaynağından çalıştırılır. Her modül için tekrarlama eksikliği hem sistem performansını artırır hem de kodlamada insan hatası olasılığını azaltır.
Modüler programlamada bölünme kavramı, her bir modülü ve birbirinden bağımsız olanı her biri yapar, ancak her modül aynı temel koda bağlıdır. Modüller arasındaki münhasırlık, geliştiricinin yazılım parçalarını tek tek değiştirmesine veya yükseltmesine olanak tanır. Modüler bir yaklaşım kullanarak, bir geliştirici programın gerekli kısımlarını gerektiği gibi yükleyebilir. Temel programı değiştirmeye gerek kalmadan kolayca yazılım ekleme veya değişiklik yapma yeteneği, geliştiricilerin özelleştirilebilir bileşenlere sahip bir yazılım uygulamasının çoklu sürümlerini yayınlamalarına izin verir.


