Dağıtımı yönetmek için özellikler kullanırken, işlevlerimi birçok küçük özelliğe veya büyük bir özelliğe ayırmalı mıyım?


15

Özellikler modülünde nispeten yeniyim ve A) bir büyük özellik veya B) birkaç küçük özellik ve daha sonra tüm küçük özellikleri listeleyen bir " özellik denetleyici " tipi modül olup olmadığını çevrimiçi olarak çelişkili önerileri okudum bağımlılık olarak.

Özel durumum hakkında biraz: Bir local development -> dev server -> staging server -> live serveriş akışı kullanıyorum . Bu özel site neredeyse hiç geliştirdiğim türünün tek örneği olacak; featuresBu site için oluşturduğum başka sitelerde kullanmayı düşünmüyorum .

Bu beni her şeyi büyük bir özellikte yapmaya yöneltiyor, çünkü geçmişte aynı kuralları birden fazla özellikte yanlışlıkla tanımladığım ve başım belaya soktuğum sorunlar yaşadım. Bununla birlikte, yapı açısından bu benim için yanlış görünüyor - farklı özellikler / işlevler var, bu yüzden ayrı özelliklere ayrılmalıdır. Öte yandan, bunu yaparak kendime kimseye fayda sağlamayacak ek işler ve ek yük oluşturabileceğimi hissediyorum.

Gerçek bir uygulamada hangi yaklaşımın sürdürülmesi daha kolaydır - büyük bir özellik mi yoksa daha küçük olanı mı?

Yanıtlar:


7

Kavramsal katmana bölünmüş birkaç küçük Özellik yapın .

Avantajları:

  1. Granularity Overrides gözden geçirilmesi ve döner gerçekleştirirken - Sen kalmaz var kerede Geri döndürme her şeyi.
  2. Modülerlik - tek tek bileşenleri yeniden kullanmayı planlamasanız bile, işleri ayrı modüllere bölmek, sürdürülebilirliğin sağlanmasına yardımcı olacaktır.

Geliştirme aşamasından test aşamasına kadar tek bir siteyi dağıtmak için aşağıdaki sınıflandırma kullanılır (burada "site", site için benzersiz bir makine adıyla değiştirilir) -

  • site_typesÖzellik - İçerik Türlerini, Alanları, ImageCache ayarlarını, Kullanıcı Rollerini bildirir
  • site_structureÖzellik - Bağlamları, Görünümleri, Menüleri ve Menü Bağlantılarını , Blokları, Kullanıcı İzinlerini, Değişkenleri Bildirir
    • site_typesÖzelliğe bağlıdır
  • site_contentÖzellik - Düğümleri bildirir
    • site_structureÖzelliğe bağlıdır

Birden fazla farklı site bölümü varsa (örneğin, Herkese Açık ve Özel), işleri daha da bölmeyi düşünün:

  • site_types özellik
  • site_structure Özellik - Hem Genel hem de Özel için ortak yapısal bileşenleri beyan eder
    • site_typesÖzelliğe bağlıdır
  • site_public_structure özellik
    • site_typesÖzelliğe bağlıdır
  • site_public_content özellik
    • site_public_structureÖzelliğe bağlıdır
  • site_private_structure özellik
    • site_typesÖzelliğe bağlıdır
  • site_private_content özellik
    • site_private_structureÖzelliğe bağlıdır
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.