Bir framework ün amacı, yeni yazılım yaratma verimliliğini arttırmaktır. Bu altyapılar, geliştirici verimliliğini, yeni yazılımın kalitesini, güvenilirliğini ve sağlamlığını artırabilir. Geliştirici üretkenliği de aynı şekilde geliştiricilerin uygulama altyapısına zaman harcamak yerine, uygulamalarının benzersiz gereksinimlerine odaklanmalarını sağlayabilmeleri için framework ler sayesinde artırılabilir.
Pek çok kişi, yazılım framework'ü terimini, yeniden kullanıma sunulması amaçlanan nesne yönelimli bir yazılım kütüphanesi veya bir dizi kütüphaneyle eşitler. Bununla birlikte, bir framework ile kütüphane arasında önemli bir fark vardır; bu fark genellikle “denetimin tersine çevrilmesi” olarak adlandırılır.
Bir kütüphane kullanıyorsanız, kütüphane tarafından uygulanan nesneler ve yöntemler özel uygulamanız tarafından başlatılır ve çağrılır. Hedeflerinize ulaşmak için hangi nesneleri somutlaştıracağınızı ve hangi yöntemleri arayacağınızı bilmeniz gerekir. Öte yandan, bir framework kullanıyorsanız, uygulamanıza özel olan nesneleri ve yöntemleri uygularsınız ve bunlar framework tarafından başlatılır. Bir framework uygulama için kontrol akışını tanımlar.
Framework davranışını kişiselleştirmenin yaygın bir yolu
Framework davranışını kişiselleştirmenin yaygın bir yolu, framework uygulanmış özellikleri geçersiz kılmaktır. Framework sınıfları tarafından tanımlanan soyut veya sanal yöntemler, kullanıcı tanımlı kod da geçersiz kılınabilir. Framework tanımlı arayüzler uygulayan yeni nesneler ile yaratılabilir. Bu yaklaşımlar, bir yazılım sisteminin, framework ün, başka bir grup tarafından geliştirilen yazılımla etkileşime girmesine izin vermek için polimorfizmden yararlanır.
Laravel mi yoksa Codeigniter mı ?
Bu içeriğimizi ziyaret ederek size uygun olan framework tercihini yapabilirsiniz.
Bu konuyu vurgulamak için, aşırı derecede basitleştirilmiş bir örneğe bakalım. Windows Presentation Foundation (WPF), Windows uygulamaları oluşturmak için bir framework dür. WPF ile yeni bir Windows uygulaması oluşturmak için iki temel unsur gereklidir. İlki bir XAML dosyasıdır. XAML dosyası uygulamanın yapılandırılabilir niteliklerini açıklar: örneklemek için hangi sınıflar, nesne özellikleri için değerler ve kullanıcı etkileşimine yanıt olarak çağrılacak yöntemler. XAML dosyasının çok basit bir örneği aşağıdadır:
Bu örnek, uygulama tarafından başlatılabilen bir Pencereyi açıklar. Bu pencere için uygulamaya özel mantık, WpfApplication1.Window1 adlı bir sınıfta bulunur . Örnek, pencerenin ve pencerenin başlangıç boyutunun nasıl etiketleneceğini açıklamaktadır. Pencere sırayla bir buton denetimi içeren bir kılavuz(Grid) denetimi içerir. Buton denetimi özniteliklerini WPF den çağırmak için wpfapplication.Window1 adlı yöntem den button1_Click metodu kullanıcı tarafından buton tıklatıldığında çağrılır.
Bir WPF uygulamasının ikinci temel unsuru koddur. Aşağıdaki basit bir örnektir:
Bu pasaj, bir Windows uygulamasını çalıştırmak için yeterlidir. Framework ün "kontrolün ters çevrilmesi" button1_Click metodu ile temsil edilir. Bu buton, kullanıcı butonu tıkladığında framework tarafından çağrılır. Framework, bu uygulama yürütüldüğünde gerçekleşen hemen hemen her şeyi tanımlar; Window1 sınıfı yalnızca uygulamaya özgü davranışını tanımlar. Pencereyi görüntülemek, kullanıcı girişini işlemek veya herhangi bir genel pencere işlemlerini (örn. Taşımak, yeniden boyutlandırmak, küçültmek, büyütmek, kapatmak) kodlamak gerekmez. Bu örneği, bunun gibi basit bir uygulamanın bile framework süz olarak geliştirilebilmesi için ihtiyaç duyulacak kod miktarı ile karşılaştırın.
Neden Framework Kullanmalıyım ?
- Önceden oluşturulmuş ve önceden test edilmiş kodu yeniden kullanın.
- Yeni uygulamanın güvenilirliğini arttırın ve programlama ve test etme çabalarını ve pazara sunma süresini azaltın.
- Bir çerçeve daha iyi programlama uygulamaları ve uygun tasarım desenleri ve yeni programlama araçlarının kullanılmasına yardımcı olabilir.
- Framework yükseltme, framework kullanıcısı tarafından ek programlama yapılmadan yeni işlevler, geliştirilmiş performans veya gelişmiş kalite sağlayabilir.
- Tanım olarak, bir framework size davranışını genişletmek için araçlar sağlar.
Neden Framework Kullanmamalıyım ?
- Bir framework oluşturmak zor ve zaman alıcıdır (yani pahalı).
- Yeni bir framework için öğrenme eğrisi yavaş olabilir.
- Zamanla, bir çerçeve giderek daha karmaşık hale gelebilir.