PHP nesne yönelimli programlamanın temel ilkeleri

Öncelikle hepinize iyi tatiller dilerim! ! !

Ellerini ve Xiaomeng'i mi kestin bilmiyorum! Dokuzuncu yılı kaçırdım!

Arkadaşım, PHP'yi kullanmaya başladığımda, onu yere koyamayacağımı ve projeyi tamamlamanın basit ve hızlı olduğunu düşünerek her zaman "PHP dünyanın en iyi dilidir" diyemediğimi düşünüyor mu?

Ancak bir gün geliştirmekte olduğunuz proje çok büyük olduğunda yazdığım kodun dağınık olduğunu, ölçeklenebilirliğin düşük olduğunu ve bakımın zayıf olduğunu anlıyorsunuz. . . . . . .

O halde projenizi yeniden düzenlemeye kararlı mısınız? Çok düşündükten sonra, tabii ki nesneye yönelik programlama ve ardından çeşitli tasarım kalıpları ekleyin! Sen yapmaya başla! ! !

Nesneye yönelik tasarımın ilkelerinden bahsetmeme izin verin. Elbette size nesneye yönelik tasarımın faydalarından ve nasıl analiz edilip tasarlanacağından bahsetmeyeceğim. Bilmek istiyorsanız bana devam edebilirsiniz!

Nesneye yönelik programlama esas olarak aşağıdaki temel ilkelere sahiptir

1. Tek sorumluluk: bir sınıf için yalnızca bir şeyin yapılması gerekir. Çok karmaşık işlevleri tamamlamak için bir sınıf kullanmayın, ancak tasarımı daha küçük ve daha özel sınıflara ayırın.

O zaman bazı arkadaşlar tekrar sormalı, bunu neden yapıyorsun? Evet doğru, sondan bir önceki öğrenci size iyi bir soru sordu. Nedenini size söyleyeyim: Öncelikle, örneğin, ön ve arka uçların ayrılması. Neden ana sayfa gösterimi ve ön uçta işleme etkisi var ve arka uçtaki iş mantığı aynı. , Uzmanlık aynı, sınıf aynı, tam zamanlı bir şey, verimli ve sürdürülebilirlik çok yüksek, birleştirme derecesi çok düşük, birini değiştirmek diğer insanları etkilemeyecek

2. Açıklık ve kapanış ilkesi: Bir sınıf genişletilebilir olmalı, değiştirilemez olmalıdır. Bir sınıf uygulandıktan sonra genişletmeye açık ve modifikasyona kapalı olmalıdır Modifikasyonlar fonksiyonları arttırmak için değil, genişletme yoluyla fonksiyonları arttırmak için kullanılmalıdır.

Neden bunu sormak istiyorsun? O zaman sana söylemeyeceğim! ! !

3. Bağımlılığı tersine çevirme: Bir sınıf başka bir sınıfa bağımlı olmaya zorlanmamalıdır. Her sınıf başka bir sınıfla değiştirilebilir. Örneğin, iki A ve B sınıfı vardır. A'nın B sınıfına bağlı olması gerekir. A sınıfında doğrudan B sınıfını çağırmamalısınız. Bunun yerine, A sınıfının bağlı olduğu B sınıfının nesnelerini enjekte etmek için bağımlılık enjeksiyonu kullanmalısınız. A sınıfı için, B sınıfı A sınıfı için değiştirilebilir. C sınıfı, B sınıfı ile aynı arabirimi uygularsa, A sınıfı için, B ve C isteğe göre değiştirilebilir.

Bu sınıf arkadaşının nedenini bilmek için cazip olmasına gerek yok, size söyleyeyim: bu, eşleşmeyi azaltmak için! ne? Bağlantının ne olduğunu bilmiyorsunuz, o zaman lütfen dışarı çıkın, bu size göre değil!

4. Yapılandırma: Yapılandırmayı sabit kodlama yerine mümkün olduğunca kullanın. Sınıflar gibi ilişkilerin tanımı da yapılandırılabilir olmalıdır.

Bu, neden nesne tabanlı programlama yapmak istediğinizle aynıdır!

5. Arayüz odaklı programlama, uygulamaya yönelik programlama değil: Yalnızca arayüzle ilgilenmeniz gerekir, uygulamaya değil. Tüm kod için, yalnızca belirli bir sınıfın hangi arabirimleri uyguladığıyla ilgilenmesi gerekir, bu sınıfın özel uygulamasını değil.

Kadın giyim patronunun yeni bir işi daha var! Elbette, adam el salladıysa, kadına hiçbir şey olmadı!
önceki
Robert Downey Jr.'ın 54. doğum günü! "Reunion 4" te Hollandalı kardeşin kamera arkası fotoğrafı ortaya çıktı
Sonraki
Youku Başkanı Yang Weidong polis tarafından soruşturuldu, Ali Entertainment ne yapacak?
HTC resmi sızıntısı: HTC U12 + Ulusal Banka fiyatı 5888 yuan
Linux altında belleği ve depolama alanını otomatik olarak izleyin!
Bir askeri öğretmenin gerçek niteliklerini yeniden üretmek için gülümseyin! Vahşi rutinler Victor'u hedef alıyor, netizen: Bu bir israf!
Kasım ayında büyük miktarlarda yayınlanacak! Alıcılar tarafından sergilenen Virgil Abloh x NIKE'ın detaylarına bir göz atalım!
Yaramaz Film Günü Boom | "Reunion 4" bir dizi Tayland afişini ortaya çıkardı. Bir sonraki aşamada öncü kim olacak?
İngiliz moda markası LK Bennett'in iflas başvurusunda bulunmasının ardında: Prenses Kate bir telefon görüşmesi yaptıktan sonra fiyatlar yükseldi, İngiliz kadınların buna gücü yetmez mi?
Yukarı pozisyon! Yürüyen Alman en iyi köpekbalığı süper arabası yenilmez
OnePlus 6 ilk satış güçlü açılış: 100 milyonu aşmak için 50 saniye, 100.000 birimi kırmak için 12 dakika
NeurIPS 2018'de yaklaşık dokuz bin kişi bir araya geldi, dört en iyi makale, on araştırma alanı, 1010 makale kabul edildi
Gerçekçi hız ve tutku! 2017'nin en lüks en iyi süper otomobillerini aydınlatıyor
S8 yarı final verisi yayınlandı, güçlü kahramanlar IG'nin imzası! Safir mavisi LPL yüzüne dönüşüyor!
To Top