Adım Adım Örnekle Açıklanan Java'da Modülerlik [2022]

Yayınlanan: 2021-01-02

Java programcısı olmak için yola çıktığınızda, karşınıza çok sayıda fırsat çıkacaktır. Ortalama olarak, bir Java programcısı ayda yaklaşık 69.722 dolar kazanıyor, bu da oldukça iyi bir ödeme . Hindistan'da Java geliştirici maaşı hakkında daha fazla bilgi edinin. Java programlamada sağlam bir kariyere sahip olmayı planlıyorsanız, modülerlik önce öğrenmeniz gereken bir şeydir. Modern yazılım programlamanın hayati parçalarından biridir. Öyleyse, önce bir modülün ne olduğunu anlayalım mı?

Java'da Modülerlik Nedir?

Modül, daha çok, bir arabirim aracılığıyla iletilen bağımsız bir yazılım bölümü gibidir. Modülerlik, tek bir eski mimariden farklı modüller kullanarak bir programın oluşturulmasını araştırır. Daha çok, tüm sistemin bir bağımsız hizmet paketi olduğu bir MVC mimarisindeki mikro hizmetler gibidir.

Modülerlik ile yazılım ortamının farklı modüllere bölünmesi, tüm süreci daha optimize hale getirir ve birleştirme etkisini azaltır. Java geliştiricilerinin, geliştirme süreci aynı anda devam ederken, hareket halindeyken işlevsellik testi yapmasına yardımcı olur.

Java'daki modülerlik, anında test etme ve hata ayıklama ile geliştirme süresinin kısaltılmasını sağlar.

Artık modülerliği bildiğimize göre, neden buna ihtiyacınız olduğunu anlayalım.

Okuyun: Java Mülakat Soruları ve Cevapları

Dünyanın En İyi Üniversitelerinden Yazılım Mühendisliği Kurslarına Kaydolun . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Java modülerliğine neden ihtiyacımız var?

Modülerlik, bir Java geliştiricisine üç şekilde yardımcı olur:

Yeniden Kullanılabilirlik: Yeniden kullanılabilirlik, geliştiricilerin yazılımın veya uygulamanın daha yeni bir sürümünü oluştururken aynı kodu kullanarak zamandan tasarruf etmelerine yardımcı olabilir. Java'daki modülerlik sayesinde, modülleri başlangıçta geliştirilen yazılımdan başka bir yerde yeniden kullanabilirsiniz.

Kararlılık: Modülerlik, kodun ayrı bölümlerinde değişiklik yaparken yazılımın kararlılığının korunmasına yardımcı olur. Bu, yeni değişikliklerin tüketicilerden gizlendiği ve mevcut yazılımı etkilemeden kolayca test edilebileceği anlamına gelir.

Paralel geliştirme: Java geliştiricileri birbirine paralel modülleri hızla geliştirebilir. Tüm modüller geliştirildikten sonra, bir süit oluşturmak için bir arayüz aracılığıyla birleştirilebilirler. Paralel geliştirmeyi kullanmak zaman kazandırabilir.

Şimdi Java'daki modülerliğin farklı yönlerini keşfedelim.

Modülerlik Java 9'da tanıtılmış olsa da, basit bir hesap makinesi oluşturma örneği ile Java 11 konseptini keşfedeceğiz. Asal sayıları kontrol eden, bir sayının çift olup olmadığını hesaplayan basit ama gelişmiş bir hesap makinesi oluşturacağız.

Adım 1: Modülü oluşturma

İlk adım modüller oluşturmaktır ve karmaşıklığa göre birden fazla modül oluşturmayı seçebilirsiniz. Burada iki ayrı modül oluşturuyoruz,

  1. Matematik. kullanım modülü
  2. Hesap makinesi modülü

İlk modül, matematiksel hesaplamaları yürütmek için bir API veya Uygulama Programı Arayüzü içerir. Aynı zamanda, ikinci modül hesap makinesini başlatır.

Adım 2: Modüllerin yürütülmesi

API modülünü com.upgrad.math.MathUtil sınıfında uygulayarak tarayıcıda çalıştıracağız,

genel statik Boolean isPrime(Tamsayı){

if (sayı == 1 ) { false döndür; }

return IntStream.range(2,num).noneMatch(i -> num % i == 0 );

}

Modülü bir fonksiyon ile kontrol edebiliriz.

genel statik Boolean isEven(Tamsayı){

dönüş numarası % 2 == 0;

}

Sayıların çift mi yoksa tek mi olduğunu kontrol etmeyi düşünüyorsanız, başka bir işlevi çalıştırabiliriz.

genel statik Tamsayı toplamıOfFirstNEvens(Tamsayı sayısı){

dönüş IntStream.iterate(1,i -> i+1)

.filter(j -> Eşittir(j))

.limit(sayım).sum();

}

genel statik Tamsayı sumOfFirstNOdds(Tamsayı sayısı){ return IntStream.iterate(1,i -> i+1) .filter(j -> !isEven(j)) .limit(count).sum(); }

Şu ana kadar API modellerinde iki fonksiyon çalıştırdık ve aşağıdaki gözlemleri yaptık.

  • 1 numaradan başlayan sonsuz bir dizi var
  • Sayıların filtrelenmesi tekrarlanır.
  • Sayı akışı sınırlıdır.
  • Sayıların toplamını bulma

Bu gözlemlere dayanarak, bir geliştirici API'yi yeniden düzenleyebilir ve çalıştırabilir.

Tamsayı hesaplamaFirstNSum(Tamsayı sayısı,

IntPredicate filtresi){

dönüş IntStream.iterate(1,i -> i+1)

.filtre(filtre)

.limit(sayım).sum();

}

Burada sayı ile sınırlandırılan sayıların toplamını bulmamız gerekiyor. Ayrıca toplamanın gerçekleştirileceği koşullarda sayılar için filtre bulmamız gerekecek.

Araştırdığımız yeni koşullara göre API'leri yeniden oluşturalım.

genel statik Tamsayı toplamıOfFirstNPrimes(Tamsayı sayısı){

return hesaplamaFirstNSum(sayım, (i -> isPrime(i)));

}

public static Tamsayı sumOfFirstNEvens(Tamsayı sayısı){ return hesaplamaFirstNSum(sayım, (i -> isEven(i))); }

genel statik Tamsayı sumOfFirstNOdds(Tamsayı sayısı){ return hesaplamaFirstNSum(sayım, (i -> !isEven(i)));

Artık API'leri test edip yeniden düzenledik, şimdi com.upgrad.math.MathUtil sınıfını bir modüle yerleştirelim.

Adım 3: Bir modüle yardımcı program sınıfı ekleme

Math adlı modüle küçük bir yardımcı program sınıfı eklemek için. util, gibi bazı kuralları izlemeniz gerekir

  • API modülü ile ilgili tüm kodu aynı isimli bir dizine koyun ve kök dizin olarak kullanın.
  • Module-info.java'yı kök klasöre ekleyin
  • Tüm paketleri ve kodları kök dizine yerleştirin.

Adım 4: Hesap makinesi için bir modül tanımı oluşturma

Math.utl gerektiren bir hesap makinesi modülü oluşturacağız.

modül hesaplayıcı{

matematik.util gerektirir;

}

Kodu aşağıdaki şekilde derleyebiliriz,

javac -d mods –module-source-path . $(find . -name “*.java”)

mods dizinindeki hesap makinesi ve matematik.utl modüllerinden kodları derledikten sonra, tek bir komut, bu iki modül arasındaki bağımlılıkları bir derleyici aracılığıyla yapacaktır. Hesap makinesi ve matematik.utl arasında bağımlılıklar oluşturmak için özel araçlar oluşturmaya gerek yoktur.

Adım 5: Kodu yürütün

Hem mods dizinindeki modülleri hem de bağımlılıkları yerleştirdikten sonra, şimdi kodu çalıştırmanın zamanı geldi. Yürütme, basit ve gelişmiş hesap makinemizi harekete geçirecektir.

java –module-path mods -m hesap makinesi/com.upgrad.calculator.Calculator

Mutlaka Okuyun: İlginç Java Projeleri ve Konuları

Çözüm

Bir ankete göre , Java yeni bir iş ilanı açısından en çok tercih edilen ikinci dildir ve bu da onu yeni başlayanlar için harika bir seçim haline getirir.

Java, OOP'ler ve tam yığın yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500 saatten fazla sıkı eğitim sunan Tam Yığın Yazılım Geliştirmede Yönetici PG Programına göz atın. 9+ proje ve ödev, IIIT-B Mezun statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

Geleceğin Kariyerine Hazırlanın

Yazılım Mühendisliği Yüksek Lisans Programına Hemen Başvur