• design patterns in abap objects adlı kitapta sap abap uygulaması öğrenilebilecek pattern.

    özetle; parent - child mantığıyla bir ağaç oluşturan yapıların veri ilişkilerini saklayan bir pattern'dir. yapıya erişmek isteyen programcı, karmaşık ilişkilerle uğraşmak yerine "get_subcomponents" gibi basit method'ları recursive çağırarak istediği seviyedeki veriye erişebilir.
  • olabilecek en basit design patternlardan birisi, agac yapisi olustururken bir dolu insan bunu uyguluyor bile.

    herhangi bir agac yapisinda
    1) nodelar leaflerin toplami olabilecek grup ve ya dizilerse
    2) yapilacak isleme gore leaf ve node icin ortak bir abstraction tanimlanabiliyorsa(interface ya da abstract class)
    o zaman yapilacak islem "eldeki leaf mi node mu" ayrimina yapmaya gereksinim duymadan bu abstraction uzerinden yapilacak sekilde duzenlenebilir.
    composite patterndaki "composite" ismi bu leaflerin bilesimi olan nodelardan geliyor. bilesimler kendilerini olusturan bilesenlerle ayni isleme tabi tutulurlar.

    diyelim bir foldera erisim hakki veriyorsunuz. ızni bir accounta ya da bir account grubuna verebilirsiniz(burda node account grubu, leaf de account). erisimle yapacaginiz seyi her seferinde "grup mu bu account mu" diye bakmak yerine, ispermitted diye bir metod iceren ımemberfolderpermission diye bir interface yaratip node ve leaf i bu interface den turetip bunun uzerinden tree yi dolasarak halledebilirsiniz.

    benim account um un erisim hakki var mi, yoksa bu grubumun, olmadi onun ust grubunun hakki var mi seklindeki sorgulamayi ımemberfolderpermission interface i ile dolasarak yapabilirsiniz.
hesabın var mı? giriş yap