come organizzi i tuoi spazi dei nomi?


5

Quindi ho entità logiche (persona, paese, ecc.), Elementi/controlli della GUI, controller e gestori di dati e di navigazione, quindi cose come quad-tree e timer, e faccio sempre fatica a separare in modo pulito queste cose in namespace logici.

Io di solito hanno qualcosa di simile:

  • Leviathan.GUI.Controls
  • Leviathan.GUI.Views
  • Leviathan.Entities
  • Leviathan.Controllers (dati e altre cose)
  • Leviathan. Aiutanti (alberi e altre cose)

Ci sono delle buone guide su questo? Ho bisogno di fermare questo casino.

2

Cercare di evitare "e altre cose" o "misc." categorie, se stai mettendo le cose in queste categorie non riesci a organizzarle affatto.

  0

miei pensieri, ho solo difficoltà a trovare un posto per strutture dati che uso raramente, ma sono ancora necessarie, come un QuadTree o BinaryTree ... 23 set. 082008-09-23 19:18:27

  0

Ehi, scusa ho appena notato la casella dei commenti !! Ho appena trovato questa funzione. Vorrei provare a trovare qualcosa che sia un filo comune tra almeno 2 di loro. A meno che non condivida nulla in comune con nessun altro spazio dei nomi, allora può essere categorizzato. Ma la regola numero 1 no A senza B. spero che questo aiuti 26 set. 082008-09-26 13:00:31


3

Per applicazioni

Company.Product.Tier.Sub.Sub 

dove mi piace per ottenere Tier da Model, View, Controller o altri nomi affermati (dati)

Ma per i nostri controlli, si finisce con

Company.Product.LogicalFeatureGrouping 

o

Company.Product.Addon 

volte è

Company.Product.LogicalFeatureGrouping.Addon 

0

seguo il Java/Python ideale che gli spazi dei nomi dovrebbero seguire la struttura delle directory.

+1

che ci porterebbe alla seguente domanda: come organizzi la tua struttura di directory :) Faccio lo stesso, i miei spazi dei nomi sono legati alla struttura delle cartelle 23 set. 082008-09-23 19:21:47

  0

Credo di aver letto uno standard da qualche parte sui domini ... come iniziare con un dominio di primo livello (org, com. gov, mil) e scendere al nome del progetto e ai suoi sottocomponenti. 23 set. 082008-09-23 19:25:14


1

Generalmente creo uno spazio dei nomi per ogni singolo livello, come l'interfaccia utente, la business logic e il database. Mi costringe a separare i livelli. Creo altri spazi dei nomi al loro interno in base ai componenti del sistema.