Merhaba, Interface (arayüz) ifadesini ararken karşıma iki ayrı tanım çıktı.

1. Nesne yönelimli programlama dillerinde arayüz, değişik sınıflardan nesnelerin kategorize edilmesini sağlayan bir soyut tür çeşitidir 2. Bir Sistem içerisinde iletişimi sağlayan ve olanak veren bölüm demektir

Anladığım kadarıyla kelime olarak ikiside aynı olmasına rağmen anlam olarak farklı şeyler. Benim asıl ilgimi çeken 2. tanım. Yani farklı Sistemlerin aynı görev için iletişimlerini sağlayan bölüm olarak biliyorum. Bu ifadenin 1. tanım ile bir alakası var mı yoksa bu 2 tanımda geçen arayüz ifadesi sadece eşanlamlı bir kelime mi? Ayrıca 2. tanım için bir örnek verebilir misiniz?

soruldu: 16 Oca '13, 10:08

beterman's gravatar image

beterman
285131722
cevap kabul oranı: 0%

değiştirildi: 16 Oca '13, 13:43

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183

1

merhaba arkadaslar. 2. tanim icin arayüz den benim cevremde kulagima gelen örnegi sizinle paylasmak istiyorum. Hatami düzeltmenizi rica edecegim. Bir Kargo sirketinde calistigimizi düsünelim. Sizde bu firmada calisan bir programcisiniz. Göreviniz kargoya verilen paketlerin takibini yapip müsteriye gösteren bir sistemi gelistirmek. Kargo sirketinin calisan mevcut bir sistemi var zaten. Bu sistem müsterilerin kayitlarini tutma, müsterinin verdigi paketin kaydini yapma ve nereye kaca nasil gönderecelegini hesaplama gibi bir cok islemi yapiyor. Paketin takibi icin disardaki sistemlerle bizim Kargodaki mevcut sistemimiz iletisim halinde olmasi gerekiyor. Yani bir paket ucaga yüklendiginde bunu yapan görevli bunu bilgisayara bildirdiginde bizim sisteme "paketin ucaga yüklendigi" bilgisi gelmesi gerekiyor. Bunun icin örnegin ucaga yükleme yapan sirketin sisteminden paket numarasi, tarih, saat, hedef, paketin yüklendigi ucak bilgileri vs... kapsayan tek uzun bir string dosyasi mail yada herhangi bir yolla bizim Kargo sistemine ulastiriliyor. Bu uzun string Kargo sirketimizin sistemine ulastiginda bizim tarafimizdan yazilacak bir C/C++ Process programi (ProcessingCargoData adini verelim) ile okunarak önce parcalara ayrilayarak sonrada Database mize kaydedilip bizim icin gecerli bir kayit olarak isleniyor. Simdi bu basit senaryodaki iki bagimsiz farkli sistem ortak bir görevi yapabilmek icin iletisim halinde olmasi gerekiyor. Bu iletisim gönderilen bir string ile saglanabilecek. Bizim yazacagimiz bu C/C++ Process'i ise (ProcessingCargoData) ise Arayüz (Interface) müz mü olacaktir? Yani burada söz konusu olan Arayüz (Interface) bizim tarafimizdan yazilan bir C/C++ Kodu mu olcaktir?

(17 Oca '13, 02:47) beterman beterman's gravatar image

evet. sorduğunuz arayüzün karşılığı olabilir bu.

(17 Oca '13, 04:54) numankaraaslan numankaraaslan's gravatar image

buradan bakabilirsiniz, güzel örnek vermişler.

permanent link

cevaplandı: 16 Oca '13, 10:48

ercet00ilk's gravatar image

ercet00ilk
994435662
cevap kabul oranı: 11%

teşekkürler fakat bu 1. tanım için verilen bir örnek sanırım.2 tanım yani sistemler arası iletişimi sağlayan bir örnek verebilir misiniz? C/C++ ile sistemler arası iletişimi sağlayan bir interface nasıl tanımlanabilir? Tabiki bu çok genel bir soru oldu ama kaba bir örnek olursa daha iyi anlayabilirim

(16 Oca '13, 11:06) beterman beterman's gravatar image

şunu demek istemiş olabilir: yazan yazılımcı aynı programı değişik şartlara göre tekrar tekrar farklı arayüzlerini uyarlayabilir ve bunların hiç birisi birbiriyle karışmadan çalışır!

(16 Oca '13, 11:31) ercet00ilk ercet00ilk's gravatar image

İkinci tanımın yazılımla alakalı olduğuna emin misiniz? Sanki o şu tarz sistemlerle alakalı:

http://www.phoenixcontact.com/local_pdf/tr_TR/tr_interface_catalog.pdf

permanent link

cevaplandı: 16 Oca '13, 11:28

mhkoca60's gravatar image

mhkoca60
1.8k264554
cevap kabul oranı: 15%

değiştirildi: 16 Oca '13, 11:28

  1. tanımdaki arayüz nesne yönelimli programlama mantığındaki arayüz. Interface şeklinde tanımlanan soyut bir sınıftır. içinde kod yazmaz sadece metodlar veya varsa subclass lar vardır. Bunlar implement edilir ve bu metodların içindeki kodlar yazılır. Bu şekilde örneğin bir araç arayüzü yazdığınızda araba sınıfını da tır sınıfını da bu arayüzden türetebilirsiniz. Araba için de tır için de metodları istediğiniz şekilde implement edersiniz.
  2. tanımdaki arayüz her elektronik cihaz için geçerli olan bir KAVRAMdır. görsel kısım demektir. mesela router lar için arayüz yazılır ki ayarları falan yapılsın. yoksa kodlara girip kurcalamak gerekir. bilgisayar programlarında kullanıcıya arayüzü olan bir yazılım hazırlanır, web arayüzü olabilir konsol olabilir, maasüstü programı olabilir... vs. Yani kullanıcı etkileşimini sağlayan kavram arayüzdür. BTsoru nun da bir arayüzü var mesela. Şuanda bu arayüze yazıyoruz ve arka planda kodlar çalışıyor bizim için.
permanent link

cevaplandı: 16 Oca '13, 11:52

numankaraaslan's gravatar image

numankaraaslan
1.8k253749
cevap kabul oranı: 19%

İkinci tanımdaki interface hardware interface olarak tanımlanan türde. Bu herhangi bir elektronik cihazla (buna bilgisayarın parçaları da dahil) iletişim kurmak için gerekli katmandır. Böyle bir arayüz kullanırsak hem cihazla iletişime geçerken kolaylık sağlarız hem de diğer cihazlarla ya da parçalarla iletişime geçerken ortak standartlarla iletişime geçmesini sağlayabiliriz. Örneğin bilgisayarın hard disklerle konuşması için SCSI(Small Computer System Interface) kullanılır.

permanent link

cevaplandı: 17 Oca '13, 17:34

goksel's gravatar image

goksel
82071728
cevap kabul oranı: 8%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×11

Soruldu: 16 Oca '13, 10:08

Görüntüleme: 1,043 kez

Son güncelleme: 17 Oca '13, 17:34

powered by BitNami OSQA