On Writing Wrapper Libraries

A wrapper library is a thin layer of abstraction around an existing library, dependency, or functionality. A wrapper library offers a better and cleaner interface or rather hides the dependency or library. Writing a wrapper library can be a hard decision since it requires more work and expands the project scope. On the other hand, it has long-term benefits like […]

Consistency Matters

When I look back at the projects I’ve worked on, the most peaceful moments were always when the code felt consistent. Everything lined up. Names made sense. Files looked familiar. It felt like I could read the system instead of fighting it. That sense of order never happens by accident. It comes from small, deliberate choices made over time. How […]

Achieving Abstraction In JavaScript

In computer science, abstraction is to hide certain details and only show the essential features of the object. Abstraction tries to reduce and factor out details so that the developer can focus on a few concepts at a time. This approach improves understandability as well as maintainability of the code. While abstraction is well understood and well applied in languages […]

Adapter

Bu yazımda size Adapter adında nesneye dayalı yazılım şablonunu (Object-Oriented Design Pattern) anlatacağım. Bu yazılım şablonu genellikle daha önce yazılan bir kodun başka bir programa entegre olmasını sağlamak amaçlı yapılır. Aslında adından da anlaşılacağı üzere adaptör özelliğine sahiptir. Bir program yazacağız ve bir arayüz sınıfına ihtiyacımız var.Bu kodun başka biri tarafından yazıldığını ve bu koddan yararlanabileceğimizi gördük.  Ama Şöyle bir […]

Inheritance ve Polymorphism

Polymorphism ve Inheritance beraber kullanılan iki önemli nesneye dayalı (Object-Oriented) programlama unsurudur. Bunlar program kodlarının yeniden kullanılabilmesi veya var olan kodun geliştirilebilmesi açısından çok önemlidir. Günümüzde yaygın olarak kullanılan diller de nesneye dayalı programlamaya elverişlidir. Bunlara örnek verecek olursak JAVA ve C++ başta gelen nesneye dayalı programlama dilleri olarak gösterilebilir. Örnekler Java üzerinden gidecek. Inheritance ve Polymorphism’i ayrı ayrı aşağıda […]