Nesne Yönelimli Sistemler, Paradigmalar ve Felsefe
(black7375.tistory.com)-
Sınıf ile prototip arasındaki en büyük fark, nesne oluşturma biçimidir [sınıf -> örnek vs nesne -> kopyalanmış nesne].
-
En büyük ortak nokta, nesne yönelimli olmaları ve programı nesne adı verilen birimlere bölüp bunların etkileşmesini sağlamalarıdır.
-
Nesne yöneliminin çekirdeği olan kapsüllemeyi iyi yapmanın en basit yolu, soyutlamayı iyi yapmaktır.
-
Soyutlama; veri ağırlıklı nitelikler (klasik OOP), biçim (tip), durum (veri odaklı tasarım) ile ilişki merkezli zaman (prosedürel), davranış (fonksiyonel), tanım (mantıksal), durum/bağlam (alan odaklı tasarım, AOP) olarak düşünülebilir.
-
İyi sınıflandırmak ve tasarlamak için, düşünme biçimlerini fark etmeyi sağlayan çeşitli kategorileri anlamak faydalıdır [örn.) Kant'ın 4 grup 12 kategorisi].
-
-
Felsefe ve paradigmalar
-
Prosedürel: Zaman çoğu soyutlamayı etkiler ve
Gotogibi bağlamların karışmasına neden olan sözdizimleri iyi değildir. -
Fonksiyonel: Davranışı bir biçim olarak ifade etmeye çalıştığı için tip (biçim) ile derin bir ilişkisi vardır.
-
Mantıksal: Mantığı olgular ve kurallarla kurar; sorgu yaparak yüklem mantığının sonucunu elde edebilirsiniz.
-
Geleneksel OOP: Sezgiseldir. Ancak kusursuz nitelikleri tamamen ortaya çıkarmak imkansızdır.
-
Veri odaklı tasarım: Mantığın durumunu ele almaya çalışan fonksiyonel yaklaşımın aksine, bilgisayarın kendi içindeki durumu azaltmaya çalışır. Cache hit oranını yükselterek performans artışı sağlar.
-
Alan odaklı tasarım: Geleneksel OOP'den farklı olarak alan ve bağlama göre farklı tasarım yapılır (resim teorisi-kullanım anlambilimine benzer); alt alanlara dependency injection yapan AOP kullanılırsa uygulama daha kolay hale gelir.
-
-
MVP
-
Prototip üretimi: Önemli işlevleri içermelidir ve tasarımcı, geliştirici, finans gibi bakış açılarına göre değişebilir. Birçok kişinin önemli gördüğü ürün benzerliğine göre tipik bir gereksinimdir.
-
MVP: Asgari düzeyde tamamlanmışlık güvencesiyle kullanılabilir olmalı ve son aşamada hedeflenen ürüne benzer şekilde tasarlanmalıdır.
-
-
Nesne yönelimi ve varlık
-
Platon: Evrensel niteliklerin değişmez, gerçek ve var olduğunu; tekil varlıkların ise evrensel özelliklerden yoksun halde var olduğunu savunur.
-
Aristoteles: Yalnızca tekil varlıkların temel töz olduğunu, tümellerin ise üst-alt/kapsama ilişkilerinde ortaya çıkan temsiller olduğunu savunur.
-
Sınıf-örnek, Platon'un idealar kuramına; prototip-kopyalanmış nesne ise Aristoteles'in töz anlayışına benzer.
-
Başta yazmak istediğim ana hedefler şunlardı:
-
Geleneksel OOP, resim teorisine; alan odaklı tasarım ise kullanım anlambilimine benzer.
-
Sınıf-örnek, Platon'un idealar kuramına; prototip-kopyalanmış nesne ise Aristoteles'in töz anlayışına benzer.
Bunlar ikisiydi ama düşündüğümden çok daha uzun oldu.
Hiç arka plan bilgisi yoksa biraz zor gelebilir.
6 yorum
JavaScript neden prototipi seçti?
https://tr.news.hada.io/topic?id=5532
Buna bakarken aklıma geldiği için yazdığım bir yazı.
Bu yazıyla karşılaştırarak bir kez okuyalım!
Teşekkür ederim!!
Ha? Birden fazla boşluk eklemek olmuyor galiba :(
Ah, kasıtlı olarak yer kaplayan bazı durumlar olabiliyor..
Bu yüzden boş satırları ve birden fazla boşluğu azaltacak şekilde ayarladım üzgünüm
Anladım.
Bir dahaki sefere paylaşırken bunu dikkate almam gerekecek.