JS ILE FONKSIYONEL PROGRAMLAMA

Object Composition — 4(Aggregation, Concatenation Delegation)

Object yapıları oluşturmanın farklı formaları bulunur, Bunlar Aggregation, Concatenation ve Delegation. Bu yazıda bu farklı obje oluşturma formları üzerinde duruyor olacağız.

Onur Dayıbaşı
Frontend Development With JS
2 min readOct 8, 2021

--

Object Oriented Programlamadaki Kavramlar

Öncelikle buradaki kavramlar birazda JavaScript üzerinden olduğu için öncelike OOP(Object Oriented Programlama) yer alan Association, Composition ve Aggregation kavramlarından bahsedelim

Association kapsar Aggregation kapsar Composition.

Association : 2 nesnenin birbirisi arasındaki ilişkiyi tanımlar. Bu ilişki 1–1, 1 — n, n — 1 veya n — n olabilir. Yani A nesnemiz B den bir tane veya daha çok tutabilir.

Aggregation: Bizim A nesnemiz birden fazla B nesnesinden tuttuğu ilişki türleri için bizim array, stack, queue vb… diğer nesneden birçok tuttuğumuz ilişki (association) türüne denir

Composition: Bu Aggregation ilişkisinin Has-A(sahiplik) yerine Part-Of(parçası) olması durumuna denir. Yani ilişkinin kuvvetini gösterir. Kuvvetli olan ilişki için composition diyoruz. Örneğin bir okul → birden fazla Sınf, bu sınıflar içerisinde → birden fazla öğrenci olsun.

  • Okul → Sınıflar arasında (Part Of) → Composition ilişkisi varken
  • Sınıflar → Öğrenciler arasında (Has-A) → Sahiplik ilişkisi vardır.

Fonksiyonel Programlama Object Composition

Bu kısımda Eric Eliott Object Composition yazısından devam edelim. Object Composition 3 farklı formu bulunuyor.

Aggregation: Nesnemiz üzerinde gezilebilen, erişilebilen diğer objeleri tutma yöntemi ile object composition yaptığımız durumlar.

  • Arrays
  • Maps
  • Sets
  • Graphs
  • Trees
  • DOM nodes (a DOM node may contain child nodes)
  • UI components (a component may contain child components)

Concatenation: Mevcut nesneye özellikler ekleyerek veya clonelarak objenin içerisine atarak büyüttüğümüz kısımlar.

  • Plugins jQuery.fn concatenation yöntemi ile eklenir.
  • State reducers (e.g., Redux)Functional mixins

Delegation: Mevcut nesnenin diğer nesneye delegate ederek (aktararak) ordaki davranışları çağırdığı durum.

  • JS prototype chain.
  • jQuery plugins delegation yöntemini kullanarak objelerin çağrımını gerçekleştirir.

Referanslar

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--