Açık kaynak kitaplıkları için Api / eklentileri?

2 Cevap php

i bir açık kaynak kitaplığı örneğin her kullandığınızda. Doktrin hep Doktrini kitaplığı kullanmak (yani Cephe denilen) bir sınıf kodlama biten.

i bir kullanıcı oluşturmak istiyorum dahaki sefere ben sadece yazın:

 $fields = array('name' => 'peter', 'email' => 'peter@gmail.com');
 Doctrine_Facade::create_entity($entity, $fields);

o sağlanan bilgilerle bir varlık yaratır.

bu yüzden tüm coder'ları kendi "cephe" yaratacak, sanırım.

i indirmek ve açık kaynak kütüphaneleri ile etkileşime açık kaynak Cepheler ile nasıl olağan acaba? ben bunlardan hiçbirini görmedim bu nadir bir nedenidir. Bazı çerçeveler i onları örneğin, eklentileri denilen gördük. twitter API ya da facebook API eklentileri.

Bir kitaplık indirdiğiniz zaman öyleyse, net eklentileri / cepheler için arama, ya da sadece kendi kodlama denemek daha iyidir gerekir? ben sadece herkes tekerleği yeniden icat etmek değil bunun harika olacağını düşündüm.

teşekkürler.

2 Cevap

Bize sadece Fabrikalar hakkında, gerçekten sık kullandığınız kütüphaneler için Cepheler yazmak, diyelim değildir diyelim. Noktası nedir? Neden bunu yapıyorsun? Nokta belirli bir şekilde kütüphane kullanımı olmasıdır. Eğer yazmak Cephe evrensel olduğunu ve herkesin böyle bir şey yazmak eğiliminde ise, Cephe kesinlikle kitaplığının parçası olacaktır. Yani bunu yazmak istiyorum neden değildir ve neden nedeni kütüphane size uygulamaya özgü çok özel bir şekilde, bunu kullanmak olmasıdır. Böylece uygulama soyutlama kütüphanenin soyutlama geçiş. Bu uygulama kütüphane karmaşıklığı çok kaldırabilirsiniz, ama aynı zamanda kütüphane kullanımı hangi şekilde kısıtlar. Benim açımdan anlaşılır Yani, sen kütüphanesi kullanılabilir hangi belirli bir şekilde her Cephe serbest hiçbir nokta olduğunu, ikna olabilir. Biz yaygın kullanılan bazı diğer kütüphaneler ile kombine ve birlikte soyutlama oluşturan bir büyük etkili kütüphanede, bahsederken Ancak bazen, bu yeni kütüphane oluşturulmuş olacağını happend olabilir.

Bir Cephe amacı; (quoting)

  • Bir alt sisteminde arayüzleri bir dizi birleşik bir arayüz sağlar. Cephe kullanımı alt kolaylaştırır daha yüksek seviyeli bir arayüz tanımlar.
  • Basit bir arayüzü ile karmaşık bir alt sistemi sarın.

Yukarıdaki örneğe uygulamak için söylenebilir olsa da, benim için çok daha fazla bir AbstractFactory gibi hissediyor. Bu dahili Doktrini kullandığı gerçeği bir uygulama ayrıntı çünkü, Doktrin parçası olmadan EntityFactory onu adlandırmak isteyebilirsiniz. Fabrika kamu bakan API için, bu önemli değil. Belki daha sonra uskur için Doktrini değiştirmek ve o zaman sadece API değil, sınıf içinde kodunu değiştirmek zorunda, ama istiyorum.

Ayrıca Gateway pattern ilginizi çekebilir.

Ama bu ortak bir yaklaşım olup olmadığı sorunuza cevap: evet, ben öyle düşünüyorum. Soyutlama anlamak için kod kolay ve bakımını kolaylaştırır. Ama cephe / geçidi API beri - ne olursa olsun geçerlidir - genellikle uygulama ne göre belirlenir, nadiren yeniden kullanılabilir, bu yüzden web üzerinde hazır cepheler / geçitleri bulacaksınız şüpheliyim.