Kapaklar, çeşitli sorunları zarif bir şekilde çözmek için bir şeydir. Aslında, herhangi bir kapatma bulunmayan programlama dillerinde, benzer işlevleri yerine getirmek için teknikler oluşturulur.
Sadece C ++ ya da Java'daki Runnables'daki fonksiyonları düşünün. Bunlar sadece kapaklara benzer işlevlere izin veren tekniklerdir. Bir çeşit «manuel kapatma».
Popüler dillere entegre oldukları için kapaklar daha popüler hale geliyor: Javascript, çevrimiçi uygulamalar (örneğin google doc gibi) nedeniyle büyüyor, C # uyguladı, PHP 5.3'ten beri uyguladı vb.
Artık kapanışlar daha fazla teknolojide mevcut olduğundan, giderek daha fazla insanın bunlarla ilgilenmesi oldukça basit hale geliyor.
Peki şimdi kapanışlar nedir? Bu oldukça basit. Kapatma, içinde yürütülecek bir işlev ve bağlamdır. Bu bir nesne olarak manipüle edilir. Bu neden faydalı? Bu, kendi kodunuzu mevcut koda bağlamak için kullanışlıdır.
Aşağıdakileri gerektiren iki yaygın durum şunlardır: eylemler, bir iş parçacığı havuzuyla çoklu kullanımda olduğu gibi başka bir kod parçası tarafından yönetildiğinde veya seçilen bir olayda (UI için genellikle JavaScript'te kullanılır) bir eylem yürütülmesi gerektiğinde.