Mimarlık: geliştirme / üretim farklı sınıfları kullanarak

4 Cevap php

Ben 2 farklı ortamda 2 farklı sınıflarını kullanma hakkında ilgileniyorum. Her ikisi de sınıfları aynı yapıya (yöntemleri) paylaşmak gerekir, ancak üretimde kullanılan bir daha doğrulamaları veya daha az funtionnality veya farklı eylemlerle, "hafif" olacaktır.

Example: a SQL query class which doesn't check the type/existence of fields. Other example: a error handling class who logs and doesn't display messages.

Ben bir özel tasarım desen zaten var, ama tahmin gerçekten ben içine digg hangisini bilmiyorum.

4 Cevap

Bu sadece benim olabilir ... ama bu gerçekten kötü bir fikir.

Eğer Geliştirme / Testi çalışan değiliz canlı çalışan kod olmamalıdır. Aksi halde, kod (tabii, başka üretim iterek ve parmaklarınızı kapısı) düzgün bir şekilde çalıştığını doğrulamak için hiçbir yolu yoktur.

Bu nedenle, ben size aradığınızı iyi bir örnek bulmak için gidiyoruz sanmıyorum.

Update

Ne size tarif Özgün soru nasıl okur biraz daha farklıdır. Bu durumda ise, size 'çerçeve' doğrulama ve günlük düzeylerini belirten bir yapılandırma dosyası için okuma olabilir. Bu şekilde, yapılandırma dosyası ortamlarda ve yine aynı kod tabanını çalıştırıyor arasında farklılık olabilir.

Geliştirme ortamları vs üretiminde farklı kod çalıştıran ile ilgili yukarıdaki yorumların çoğu ile anlaştı.

O dedi, muhtemelen bir Factory veya Factory Method desen arıyoruz.

Benim durumumda bir sanal ve canlı bir ortam ile ödeme ağ geçidi var. ne yaptım (sistem nedir sınıf örneğine ihtiyacını bilen) bir factory desen + Arayüzü (böylece tüm ağ geçitleri aynı imza var) + yapılandırmayı kullanmak oldu

Sizin farklı ortamlarda farklı kod olması iyi bir fikir değildir.

Senin senaryo için, ben iyi seçenek yapılandırma yönleri olarak belirli bir ortamda kaçınmak istiyorsanız ve şeyleri yansıtmak olduğunu düşünüyorum uygulama / kapalı set ayrıntılı günlükleri, açık / kapalı, vb alanların sağlamlık denetimi dağıtıldığında

Ortamlara herhangi bir değişiklik sorunları önlemek için, tutarlı bir şekilde yapılması gerekir. Bir sürüm kontrol sistemi ve tutarlı bir yapı ve süreç dağıtmak için arkadaş oldular.