İçeriğe atla

AspectJ: Revizyonlar arasındaki fark

Vikipedi, özgür ansiklopedi
[kontrol edilmiş revizyon][kontrol edilmiş revizyon]
İçerik silindi İçerik eklendi
Nebra (mesaj | katkılar)
Değişiklik özeti yok
+
6. satır: 6. satır:
* AspectJ Java sınıflarına metotlar, alanlar ve arayüzler eklemek için kullanılabilir. Örneğin,
* AspectJ Java sınıflarına metotlar, alanlar ve arayüzler eklemek için kullanılabilir. Örneğin,


<source lang="aspectj">
::<code>aspect Ornek{</code>
aspect Ornek{
::::<code>declare parents: Node implements Comparable;</code>
declare parents: Node implements Comparable;
::::<code>int Node.compareTo(Object o){</code>
int Node.compareTo(Object o){
::::::<code>//Ayrıntılar çıkarıldı</code>
//Ayrıntılar çıkarıldı
::::::<code>}</code>
}
::<code>}</code>
}
</source>


<code>Node</code> sınıfının <code>Comparable</code> arayüzünü desteklemesini sağlar ve <code>Node</code> sınıfının <code>compareTo</code> metodunu tanımlar.
<code>Node</code> sınıfının <code>Comparable</code> arayüzünü desteklemesini sağlar ve <code>Node</code> sınıfının <code>compareTo</code> metodunu tanımlar.
17. satır: 19. satır:
* AspectJ Java programlarının tanımlanabilir noktalarında programın anlamının değiştirilmesinde kullanılabilir. Tanımlanabilir program noktalarına örnekler alan değişikleri (<code>x.i=3;</code>) ve metod çağırımıdır (<code>x.yap()</code>). AspectJ bu noktalarda başka metotları çağırmak için, metotların döndüğü değerleri değiştirmek için ve hata yaratmak için kullanılabilir. Mesela:
* AspectJ Java programlarının tanımlanabilir noktalarında programın anlamının değiştirilmesinde kullanılabilir. Tanımlanabilir program noktalarına örnekler alan değişikleri (<code>x.i=3;</code>) ve metod çağırımıdır (<code>x.yap()</code>). AspectJ bu noktalarda başka metotları çağırmak için, metotların döndüğü değerleri değiştirmek için ve hata yaratmak için kullanılabilir. Mesela:


<source lang="aspectj">
::<code>aspect Ornek{</code>
aspect Ornek{
::::<code>before(int deger) : call(* Node.set*(int, .. )) && args(deger){</code>
before(int deger) : call(* Node.set*(int, .. )) && args(deger){
:::::<code>if (deger == 0){</code>
if (deger == 0){
::::::<code>throw new IllegalArgumentException("0 gecersiz bir degerdir");</code>
throw new IllegalArgumentException("0 gecersiz bir degerdir");
:::::<code>}</code>
}
::::<code>}</code>
}
::<code>}</code>
}
</source>


<code>Node</code> sınıfının adı <code>set</code> ile başlayan ve ilk parametresi <code>int</code> olan metodları çalışmadan önce metoda gönderilen parametreyi kontrol eder ve parametre sıfır ise kural dışı durum iletisi yaratır.
<code>Node</code> sınıfının adı <code>set</code> ile başlayan ve ilk parametresi <code>int</code> olan metodları çalışmadan önce metoda gönderilen parametreyi kontrol eder ve parametre sıfır ise kural dışı durum iletisi yaratır.
30. satır: 34. satır:
# [http://eclipse.org/aspectj/ AspectJ sitesi]
# [http://eclipse.org/aspectj/ AspectJ sitesi]


[[Kategori:Programlama dilleri]]
[[Kategori:Kesit yönelimli programlama]]
[[Kategori:Kesit yönelimli programlama]]
[[Kategori:Java]]
[[Kategori:Cephe yönelimli programlama]]
[[Kategori:Çapraz platform yazılımları]]
[[Kategori:Java programlama dili ailesi]]
[[Kategori:Eclipse Kamu Lisansı kullanan yazılımlar]]
[[Kategori:Eclipse yazılımları]]

Sayfanın 13.41, 12 Haziran 2016 tarihindeki hâli

AspectJ, Java programlama diline kesit yönelimli bir eklentidir. AspectJ Java programlarında kesitleri ilgilendiren sorunları tek bir yapı altında (aspect) toplamaya yardımcı olur.

Kesitleri ilgilendiren değişiklere örnekler izleme, hata kontrolü ve kayıt tutmadır. AspectJ Eclipse ile bütünleştirildiğinden beri birçok Java programcısı tarafından yaygın olarak kullanılmaktadır.

Örnekler

  • AspectJ Java sınıflarına metotlar, alanlar ve arayüzler eklemek için kullanılabilir. Örneğin,
aspect Ornek{
  declare parents: Node implements Comparable;
  int Node.compareTo(Object o){
    //Ayrıntılar çıkarıldı
    }
}

Node sınıfının Comparable arayüzünü desteklemesini sağlar ve Node sınıfının compareTo metodunu tanımlar.

  • AspectJ Java programlarının tanımlanabilir noktalarında programın anlamının değiştirilmesinde kullanılabilir. Tanımlanabilir program noktalarına örnekler alan değişikleri (x.i=3;) ve metod çağırımıdır (x.yap()). AspectJ bu noktalarda başka metotları çağırmak için, metotların döndüğü değerleri değiştirmek için ve hata yaratmak için kullanılabilir. Mesela:
aspect Ornek{
  before(int deger) : call(* Node.set*(int, .. )) && args(deger){
    if (deger == 0){
    throw new IllegalArgumentException("0 gecersiz bir degerdir");
    }
  }
}

Node sınıfının adı set ile başlayan ve ilk parametresi int olan metodları çalışmadan önce metoda gönderilen parametreyi kontrol eder ve parametre sıfır ise kural dışı durum iletisi yaratır.

Dış bağlantılar

  1. AspectJ sitesi