2010-06-21 12 views
8

Quale delle seguenti convenzioni di denominazione è più utilizzata/accettata o che è la più ottimale per la maggior parte dei progetti? Sto avendo un momento difficile decidere.Convenzione di denominazione della classe estesa ottimale?

Base class: \Model 
Sub class: \Model\User 

Base class: \Model\Model 
Sub class: \Model\User 

Base class: \Model\Base 
sub class: \Model\User 

Quindi, in altre parole, devo mettere la classe di base nello stesso spazio dei nomi di sottoclassi, e devo chiamare qualcosa costante come "base" o dovrebbe semplicemente avere lo stesso nome dello spazio dei nomi?

+0

Alcune riflessioni su namespacing: http://stackoverflow.com/questions/431911/namespace-rule-of-thumb – cbednarski

risposta

3

Onestamente, ho sempre messo la classe base nella stessa directory dei corsi sub, inless la classe base è inteso come parte di un quadro multi-applicazione, nel qual caso sarebbe andato in una libreria libreria generica,

1

Non sei sicuro di come PHP gestisce gli spazi dei nomi/pacchetti, ma in altri linguaggi ci sono dei vantaggi nel mantenere le cose negli stessi pacchetti. In particolare, sto pensando alla possibilità di utilizzare i modificatori di accesso default e protected di Java o la parola chiave friend di C++. Questi potrebbero non essere possibili/così semplici una volta che si inizia a separare gli abstract in un pacchetto diverso dai concreti.

Problemi correlati