şükela:  tümü | bugün
  • ing. soyutlama.
  • yazılım dünyasında genelleme anlamına hem gelip hem gelmeyen,daha cok kullanıcıyı ilgilendirmeyen detayları gizleme amacı güden,yazılım mühendisliginin temeli sayılabilecek kavramlardan biri.
  • yazilim alaninda bahsediyorsak, abstraction bir class'in property veya fonksyonlarini kalitim alacagi class a aktarma olayidir. hemen bir ornek verelim; kedi ve kopek isimli iki concrete class'imiz olsun bu her iki class'in da yas ve cins gibi iki ozelligi olsun. simdi bu class'larin icerisinde bunlari ayri ayri girecegimize bunlari soyutlayarak hayvan isimli bir class olusturup bu hayvan class'inin icerisine yas ve cins ozelliklerini ekler kedi ve kopek class'ini hayvandan inherit ederiz boylelikle yas ve cins kendi class lari icerisinde tanimlanmis olmasalar bile, hayvan class indan geldikleri icin bu ozellikler soyutlanmis oluyor.
  • yazılım alanında, gereksiz teknik detayları developer'dan gizleyip, karmaşıklığı azaltıp üretimi artırmayı sağlamak için kullanılan bir methodun adıdır. daha az detayla uğraştırdığı için de kullanılacak olan api/library/framework'ün kullanımı high level'a yaklaşır. dezavantajı, gizlenen kısımlara müdahale edilmesinin her zaman mümkün olmamasıdır.
  • yazılım da oldukça işe yarayan güzel bir yönetimdir
    şu videoda güzelce açıklanmış
  • gereksiz teknik detayları gizleme işi daha çok encapsulation a aittir. abstraction ile encapsulation da karıştırılan iki kavramdır genelde ve bazı durumlarda hatalı olarak birbirlerinin yerlerine kullanılabilir.

    yani encapsulation bu gizleme işlemidir. neyi gizleyeceğinize bakar ve encapsulate edersiniz.
    abstraction ise, neyin gizleneceği değil de neyin gösterilmesi gerektiği ile ilgilidir.

    complexity i azaltmak için kullanılır.
  • binali yıldırım'ın bulut diye bişey var, nimetlerinden yararlanıp işini göreceksin, çok fazla şeyapmamak lazım diye bahsettiği konu. kısacası bir sistemin ne yaptığını bilip, nasıl yaptığını bilmemek.

    klavyeyi düşün mesela. ne işi yaptığını biliyosun, bilgisayara yazı giriyor ama nasıl yaptığını, tuşlara basıldığında arka planda neler olduğunu bilmiyorsun ve kurcalamıyorsun. yani fazla şeyapmıyosun. işte bu abstractiondır, bunu yapmazsan sıyırırsın.
    https://www.youtube.com/watch?v=sn7pntsy5iy
  • design pattern lerde de sıklıkla kullanılan, yazılım mühendisliği dünyasının fevkaladenin fevkinde bir mihenk taşıdır.