Mümkün olduğunca soyutlayarak çerçeve sorunlar sizi izole edebilir.
Size bir örnek vereyim. Ben son zamanlarda çok Codeigniter ile çalışmaya başladım. Ben çerçeve yapar bazı şeyler takdir, ama bunun diğer yönlerini bir hayranı değilim. Ben sevmiyorum belli bir şey hemen hemen yazdığınız her uygulama için CI ayrı bir kopyasını kullanmak zorunda olmasıdır. CI yeni bir sürümü ile çıkıyor, ben geri gitmek ve çoklu uygulamaları yükseltmek zorundayız.
Bu nedenle, benim CI yükler in "baz" adı verilen ayrı bir dizin oluşturduk, ve ondan sınıfları yüklemek edebilmek için bir PHP autoloader kurmak. Ben vb "Base_controller", "Base_service", "Base_model", gibi şeyler var, ve benim CI yükler tamamında kullanabilirsiniz. Bu sınıflar, normal CI sınıfları uzatmak, ve sırayla benim uygulamalar bu temel sınıfları uzatmak. Örneğin, Uygulaması bir numara, CodeIgniter'ın Controller
sınıfını genişleten bir Kontrol sınıf yazmak yerine, I sırayla CI uzandığı, benim Base_controller
uzanan Controller
.
Bu bana CI ve benim apps arasındaki ayrılığın bir düzeyini verir. CI değişecek olursa, ben sadece benim "baz" katmanı yükselterek onu yönetmek gerekir. Ben de bu katmanda baz işlevselliği bir şey var ve sadece çok yeni bir CI yüklemek her zaman uzanan daha, bir kez yazabilirsiniz.
Onunla denize gitmek istemiyorum gibi Soyutlama, dikkatli bir tasarım gerektirir. Ama bu kesinlikle bir çerçevenin kodundan kodunuzu ayırmak için yararlı bir araçtır.