nerede kütüphaneleri oluşturmak için çerçeveler vardır?

3 Cevap php

Ben bir PHP kütüphanesi (bir çerçeve) oluşturmak zaman ben her şeyi her zaman yeniden icat etmek eğilimindedir.

"Nerede yapılandırma seçenekleri koymak?"

"Hangi tasarım deseni burada kullanmak için?"

"Nasıl bütün sınıfların birbirini genişletmek gerekir?"

ve böylece ...

Sonra düşünüyorum, her yerde kullanmak iyi bir kütüphane çerçeve var değil mi?

Bir web uygulaması için bir çerçeve (symfony, cakephp ...) gibi ama bunun yerine bir web uygulaması oluşturma, bu çerçevede tüm standart yapısı ve sınıfları (gözlemci desen, bağımlılık enjeksiyon vb) sağlayan bir kütüphane oluşturmak için kodlayıcı yardımcı olacaktır.

Ben şu an mevcut sonraki büyük şey değilse olacağını düşünüyorum. Bu şekilde kütüphaneleri oluştururken takip için bir standart var olacak, ya da başka, herkes kendi yapısını oluşturduğunda bir orman gibi, vb yeniden kullanılabilirlik düşünmeden kodlama sadece kod bir sürü

Şu anda kütüphaneleri oluşturmak için herhangi bir çerçeve yoktur değil mi?

Eğer değilse, bu bir kütüphane çerçeve ile, bunu yapmak için bir yol olduğunu benimle aynı fikirde değil mi?

Gerçekten zaman ben sadece mantığını kodlamak için başlamalıdır (weeks!) sadece kod ve dosya düzeyinde hem de, bir şeyler organize etmek nasıl düşünmeye bir sürü atma duyuyorum çünkü.

Düşüncelerinizi paylaşın!

3 Cevap

Ah iyi, now Bill basically yine de söylemek gidiyordu, ama her şeyi söyledi. Bazı linkler atabilir:

Eğer sadece webroot içine atmak ve içine uygulama kodlama başlar şey istiyorsanız, size şiddetle Convention over Configuration kullanan bir tam-yığın çerçevesi arıyoruz. Modern çerçeveler, Symfony akla geliyor.

Eğer bağımsız bileşenleri istiyorsanız, (bir DI framework içerir) Zeta Components (formerly ezComponents) veya Zend Framework veya Symfony Components gibi bileşen kütüphaneleri arayın. Bu yeniden veya ek gereksinimleri eklemek için bunları uzatabilirsiniz. Eğer bir ORM ihtiyacınız varsa veya Doctrine kullanın. Ve PEAR hakkında unutmayın.

Ancak, yukarıda ya da ne onlarla ne kullanmak nasıl bir yerde karşıdan bir şey değildir. Architecture ve Design geliştirici (veya mimar) görevidir. Büyük olasılıkla ağır değişiklik olmadan başvurunuzu sığmaz çünkü sen, o indiremezsiniz. GOF patterns veya genel bir düzeyde sorunları çözmek için nasıl PoEAA patterns teklif kurallar, ama her zaman bunları uygulamanıza adapte olmak zorunda gibi desenleri,.

Ben ihtiyaçlarınızı karşılamak çerçeveler vardır düşünüyorum. Geliştiriciler tam yığın çerçeveler ve daha fazla bileşen tabanlı çerçeveler arasında bir ayrım yapmak.

Bileşen tabanlı çerçeveler daha az ya da bağımsız olarak kullanılabilir, daha ince taneli bileşenlerden oluşan bir koleksiyon bulunmaktadır. Örnekler vb yapılandırma, kimlik doğrulama, e-posta, web hizmetleri, vardır

Eğer daha kolay bu bileşenleri geliştirmek için kılan bir çerçeve bahsediyoruz, ben değeri yoktur ne olduğundan emin değilim. Altyapıları ki ihtiyacınız olacak emin ortak kodu soyutlayarak değer sağlamak. Bir kimlik doğrulama bileşeni ve bir e-posta bileşeni arasındaki ortak kodu nedir?

Altyapıları tanınmış görevler için geliştirici verimliliği artırmak. Daha özel ve iyi bilinen bir iştir, daha çerçeve bunu yapmak için nasıl bilir varsayabiliriz. Örnek: Drupal veya MediaWiki.

Ama çerçeveler sizin için herhangi bir keyfi kod için OO tasarım yapmıyorum. Bu daha spesifik gelen ve daha geniş görevler doğru uzakta, ters yönde hareket ediyor. Bu gibi teknoloji gibi geniş bir dizi soyutlanmış olabilir ortak kod belirlemek zor "kitaplıkları."

Eğer ne tarif çoğu yazılım mühendisliği denir. Bu karmaşık bir çözüm oluşturmak için tabanı yazılımı ve dil araçları kullanarak özüdür. Bildiğim kadarıyla daha kolay yapma ve tekrarlayan parçaları uzakta abstracting gibi, çoğu modern diller yapmaya çalışıyorum buydu.

Ben sorunuzun cevabı sanırım:., Python NET, Ruby