blog posts

Programlamada wrapper nedir?

Bir yazılım bağlamında, sarmalayıcı terimi, diğer program bileşenlerini içeren programları veya kodları ifade eder.Sarmalayıcının birkaç farklı işlevi vardır. Genellikle farklı yazılım yapıları arasında uyumluluğu veya birlikte çalışabilirliği sağlamak için kullanılır. HTML veya CSS’de de kullanılabilir. Sarmalayıcılar, bireysel yazılım bileşenleri, bağımsız yazılım ürünleri, yazılım mimarileri, nesne yönelimli programlama sınıfları veya çerçevelerdir.

Bir uygulama içinde başka bir programlama dilinin fonksiyonlarını veya kod bloklarını kullanmak istiyorsanız, bunları bir sarmalayıcı kullanarak kapsülleyebilirsiniz. Ana program, yalnızca, sarılmış programa komutlar gönderen ve sonuçları döndüren Paketleyici ile iletişim kurar. Sarmalayıcının kendisi, uygulamanın her iki bölümüyle doğrudan iletişim kuran tek bileşendir.

Sarmalayıcılar, programlama ve yazılım geliştirmede farklı şekillerde kullanılabilir. Aşağıdaki örnekler, sarmalayıcıların nasıl çalıştığını ve gerçekleştirdikleri farklı görevleri göstermektedir.

 

Programlamada wrapper

 

 

İçindekiler

kullanıcı girişinin tercümanları olarak sarmalayıcılar

veritabanına erişmek için sarmalayıcılar

Nesne yönelimli programlamada sarmalayıcılar

HTML belgelerini tasarlamak için sarmalayıcılar

Linux sistemlerinde TCP sarmalayıcıları

kullanıcı girişinin tercümanları olarak sarmalayıcılar

Programlardaki veya web uygulamalarındaki formlar, programın işleyebileceği girdiler bekler. Birçok Avrupa ülkesinde geliştirilen programlar, sayıların ondalık basamaklar yerine virgüllerle girilmesini ve boyutların metre ve santimetre cinsinden girilmesini beklemektedir. Kullanıcı girdileri varsayılan girdilerle eşleşmediğinde hatalı sonuçlar ve hatta hatalar beklemeliyiz.

Bir sarmalayıcı bu sorunu çözebilir. Giriş formu, girişi doğrudan harici uygulama yerine paketleyiciye yönlendirir. Sarmalayıcı girdileri ayrıştırır ve programı değiştirmeden bunları harici program için geçerli girdilere çevirir.

 

 

veritabanına erişmek için sarmalayıcılar

Farklı satıcı firmalara ait veritabanları, veri tabloları, sorguları veya sorgulama dilleri birbiriyle uyumlu olmadığı için birlikte kullanılamaz. Burada da çözüm bir ambalaj olabilir. Paketleyici, farklı yazılım arabirimleri arasındaki uyumsuzlukları algılar ve aralarındaki boşluğu doldurur.

(JDBC) Java Veritabanı Bağlantısı, bir Oracle veritabanı arabirimidir ve tipik bir paketleyici örneğidir. JDBC sarıcı, farklı veritabanlarına erişir ve özel sürücüleri kullanarak farklı veritabanlarını birbirine bağlar. SQL sorguları, veritabanlarına değil, yalnızca JDBC’ye yönlendirilir. JDBC, Java uyumlu sonuçlar döndürerek sorguları zengin bir veritabanı diline dönüştürür. Buna göre, talepte bulunan uygulama, kullanılan veritabanından bağımsız olarak verileri tek tip bir biçimde alır.

 

 

Nesne yönelimli programlamada sarmalayıcılar

Nesne yönelimli programlama, kullanılan programlama dilinden bağımsız olarak temelde her zaman aynı şekilde çalışan farklı yapısal modeller kullanır. Bağdaştırıcı ve dekoratör tasarım kalıpları, sarmalayıcı olarak da adlandırılan yapısal kalıplardır.

Bir bağdaştırıcı, bireysel sınıflar arasındaki uyumsuz arabirimleri gizler. Bağdaştırıcı, bir arabirimi diğerine çevirerek sınıfların birbirleriyle iletişim kurmasını sağlar. Bu, özellikle sınıfları veya tüm sınıf kitaplıklarını yeni projelerde kullanmak istediğinizde önemlidir. Bu kitaplıklar, çok sayıda uygulama tarafından kullanılabilir olmaları gerektiğinden değişmeyebilecek standart ve benzersiz arabirimler kullanır. Ambalaj – bu durumda adaptör – iletişimin kritik halkasıdır.

Bir dekoratör, sınıfın kendisini değiştirmeden bir sınıfa işlev eklemeye izin verir. Bir sarmalayıcı olarak, dekoratör çağrıları sınıfa iletir. Dekoratör, sınıfa dahil olmayan yeni işlevleri doğrudan işler ve dekore edilmiş sınıf sonuçları gibi görünen sonuçları çağıran nesneye döndürür.

 

 

HTML belgelerini tasarlamak için sarmalayıcılar

Sarmalayıcılar genellikle web sitelerini HTML ve CSS’de (yeniden) tasarlamak için kullanılır. Bir sarmalayıcı olmadan, tarayıcı penceresinin sayfa kenar boşluğunu değiştirmek gibi bireysel ayarlar yaptıktan sonra, birden çok stil sayfasını değiştirmeniz ve değişikliklerin birbirine bağlı olduğundan emin olmanız gerekir.

Daha basit yol, DIV’yi sarmalayıcı olarak kullanmaktır.DIV, bir kap görevi görür ve sayfanın tüm içeriğini içerir.

 

 

Linux sistemlerinde TCP sarmalayıcıları

inetd arka plan hizmeti, Linux ve diğer UNIX tabanlı işletim sistemlerinde bir TCP sarmalayıcı olarak çalışır. Inetd, ağ soketlerini dinler ve bağlantı isteklerini kabul eder. Bir yapılandırma dosyası, hangi portların dinleneceğini belirtir. İstekler değerlendirilir ve belirtilen inetd servisi başlatılır. Çoğu durumda, bu programlar arka planda çalışan arka plan programlarıdır.

Bağlantı kesilirse, inetd hizmeti otomatik olarak durduracaktır. Hizmetlerin talep üzerine başlatılması, hiç gerekmeyebilecek ağ hizmetlerinin otomatik olarak başlatılmasına kıyasla sistem kaynakları üzerindeki yükü önemli ölçüde azaltır. inetd, bireysel hizmetlerle doğrudan iletişim kurmadan tüm uygulamalardan gelen ağ isteklerini alan bir röle görevi görür.