Hangi web uygulaması modüler yapısı daha iyi?

5 Cevap php
backend/
     module1
     module2
     module3

frontend/
     module1
     module2
     module3

veya

modules/
       module1/
              frontend               
              backend
       module2/
              frontend               
              backend
       module3/
              frontend               
              backend

5 Cevap

Seçim gerçekten elde etmek istediğinize bağlıdır. İlk mimarlık çeşit katman ve ikinci bileşenleri hakkında. Benzer mücadelesi (masaüstü GUI vb gibi) MVC karşı bileşenleri ile gider. Katmanlar varolan katmanlar üzerinde inşa edebilirsiniz, yani, tabaka tabaka modüller izole sağlayacaktır. Bu IO / OSI, TCP / IP yığını da kullanılır. Öte yandan bileşenler daha taneli ve gibi yeniden kullanılabilir Açık - örneğin Eğer "widget" masaüstü GUI'leri oluşturabilirsiniz. Peki web için daha iyi? MVC imho olan ana, en loooking, ilk katmanlar mimarisi, daha kullanılacak gibi görünüyor. Belki bu soru asp.net sp.net mvc daha iyi olup olmadığını soran rlated edilir ...

Bu gerçekten tamamen kişisel bir seçimdir. Ben ne zaman ve nerede web sitesi verileri düzenlenirken üzerinde sıkı ve hassas kontrolü korumak böylece ön ucundan arka uç kod izole etmek benim sistem inşa ettik, ama bu sadece benim yaklaşım oldu. Şahsen ben bir yol mutlaka diğerinden daha iyi olduğunu hissetmiyorum; hangisi tercih çok uzun tutarlı konum olarak gayet olumlu.

Bilgilere dayanarak i saniye giderdim verir. Ben modülü ve tüm bağımlılıkları bu klasöründe yer aldığını bilemez daha. Bu klasörü silin ve modül gitti. / Devre güncellemeniz gerekiyorsa /, tek bir klasör güncellemek için elverişli bir modülünü değiştirin.

Modülleri% 100 bireysel değil ve ben bazı durumlarda diğer modüllere bağlıdır varsa Ama, ben ilk seçenek için giderdim.

Birçok çerçeveler ilk yaklaşımına benzer bir şey için gidin. Ön-uç geliştiricilerin daha kolay ön uç dizine (SVN ve benzeri) ile izole edilebilir gibi ekip gelişimi için iyi çalışır.

Eğer 2 fiziksel katman (web sunucusu ve bir iş sunucusu) genelinde uygulaması dağıtma iseniz, seçenek 1, muhtemelen en uygun olacaktır. Bu şekilde dağıtım (dağıtım veya yüklemek tabanlı konuşlandırılması gibi kopyalamak) yapılandırmak veya çalıştırmak için daha kolay olacaktır.

Ben bakım kolaylığı için seçenek 2 gibi, kolayca "modül A" üzerinde çalışmaya gitmek için bir geliştirici söyleyebilir yapmak ve ihtiyaç duydukları tüm kod tek bir yerde.

Temel olarak, bu tamamen sizin ve takım için tercih etmektir. Ben hem çalıştım ve gerçekten böyle geliştiriciler ve dağıtım stratejilerinin sayısı gibi, ortamınıza bağlıdır.