C++ üzerinde çok şekillilik

Yazan : Şadi Evren ŞEKER C++ programlama dili, nesne yönelimli olmasından dolayı çok şekillilik (polymorphism) özelliğini destekler. Çok şekillilik (polymorphism) bir işin farklı şekillerle yapılabilmesidir. Örneğin bir metodun farklı şekillerde çağrılabilmesi, çok şekillik özelliği ile mümkündür. Bu yazıda, metotların ve işlemlerin (operators) üzerine yüklenmesi (overloading) anlatılacaktır. Amacımız bir fonksiyonu farklı şekillerde çalıştırabilmektir. Nesne yönelimli özelliği […]

Devam

C++ Nesne Yönelimli Programlama İlişki Türleri

Yazan : Şadi Evren ŞEKER Bu yazının amacı, C++ dili için, nesneler arasında kurulabilecek olan ilişki tiplerini açıklamaktır. Temel olarak bir nesne kendi özellikleri ve metotları bulunan bir varlıktır. Nesne yönelimli programlama modelinde, nesnelerin özelliklerini paylaşmak veya diğer nesnelerin metotlarına erişmek için birbirleri ile iletişime girmeleri gerekir. Bu anlamda inceleyeceğimiz 4 temel ilişkiden bahsedebiliriz. Bu […]

Devam

Örnek C++ Sınıf İlişkileri

Yazan : Şadi Evren ŞEKER Bu yazının amacı, C++ dili üzerinden, bazı sınıf ve nesne ilişkilerini anlatmaktır. Örnek olarak, aşağıda, şekli verilen diyagramı ele alalım: Yukarıdaki bu şekilde, köşeli kutular içerisinde yazılan bilgiler, sınıf (class) bilgileridir. Yuvarlak köşeli kutular içerisinde ise, bu sınıflardan türetilmiş nesneler (objects) görülmektedir. Son olarak kalın ok, ISA ilişkisini, yani miras […]

Devam

DOM (DNM)

Yazan : Şadi Evren ŞEKER DOM yani İngilizcedeki Document Object Modelling veya Türkçe karşılığı ile Doküman Nesne Modellemesi basitçe bir işaretleme dili (genellikle HTML veya XML gibi bir dil) için etiketlere (tags) erişmeyi sağlayan bir erişim yöntemidir. Günümüzde SAX ve DOM en yaygın olarak kullanılan erişim yöntemledir. SAX daha çok tek seferde işlenen ve ardışık […]

Devam

C2 Üslûbu (C2 Style)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle yazılım mühendisliği (Software engineering) konusunda kullanılan ve bileşen (component) ve mesaj (message) temelli yazılım geliştirmeyi amaçlayan bir üsluptur. C2 tasarım kültüründe yazılım bileşenler şeklinde ele alınır ve yazılımı oluşturan bu bileşenler üzerinden bir ağ (network) çizilir. Bu ağda bileşenler arası haberleşme gösterilir. Bu sayede tasarlanan bir bileşenin […]

Devam

Nesne serileme ve dizme (Object Serialization , Marshalling)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan bir yaklaşım olan nesne yönelimli programlama (object oriented programming) sayesinde gelişmiş olan bir kavramdır. Basitçe bir nesnenin (object) hafızada (RAM) olan bilgilerinin saklanmak veya ağ üzerinden yollanmak gibi amaçlarla bir dizgiye (string) dönüştürülmesi işlemidir. Bu dizginin yapısı olarak çoğunlukla XML dili kullanılır. bu sayede verinin içeriğini belirleyen […]

Devam

Fabrika Metotları (Factory Methods)

Yazan : Şadi Evren ŞEKER Fabrika metotları tanım itibariyle sabit metotlardır (static methods). Yani bir fabrika metodu (factory method) çağrılmak için bir nesneye ihtiyaç duymaz, doğrudan sınıfa (Class) erişilerek çağrılabilir. Fabrika metotları bunun yanında değer olarak bir nesne döndüren metotlardır. Yani bir fabrika metodu çağrıldığında dönüş değeri olarak bir sınıftan türetilmiş bir nesne beklenir. Bu […]

Devam

Sabit Metotlar (Static Methods)

Yazan : Şadi Evren ŞEKER Nesne yönelimli programlamada kullanılan bir terimdir. Basitçe bir nesnenin (object) çalışabilmesi , yaşayabilmesi için bu nesnenin tanımlı olduğu bir sınıfa (class) ihtiyaç vardır. Ayrıca bu sınıftan (class) tanımlanan nesnenin programlama dili ve işletim sistemi marifetiyle hafızada bir alana ihtiyacı vardır. Bilindiği üzere nesnelerin tanımlı oldukları sınıflar (class) içerisinde özellikleri (properties) […]

Devam

Birleşim Noktaları (JoinPoints)

Yazan : Şadi Evren ŞEKER Bağlam yönelimli (aspect oriented) programlamada kullanılan terimlerdendir. Anlam olarak programda bulunan bir kontrol noktasının bir veya daha fazla bağlamın etkisinde olduğu nokta demektir. Bu anlamda bir kodda bulunan bütün satırlar birleşim noktası (joinpoint) olabilir ancak bu yaklaşım bağlam yönelimli programlama açısından doğru olmaz. Daha doğrusu bütün olası birleşme noktalarından en […]

Devam

Bağlam Örücüler (Apect Weavers)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde yazılım geliştirme sürecinde kullanılan yaklaşımlardan birisi de bağlam yönelimli programlamadır (Aspect oriented programming). Bu yaklaşım, yazılım geliştirme yaklaşımları sıralasında nesne yönelimli programlamadan sonra gelmektedir. Yani bir anlamda her bağlam yönelimli programlama yaklaşımı aslında bir nesne yönelimli programlama yaklaşımını kapsar. Nesne yönelimli programlama yaklaşımından farklı olarak bağlam yönelimli programlama […]

Devam