Ho alcune classi (vista).
Tabella, Albero, PagingColumn, SelectionColumn, SparkLineColumn, TimeColumn.
al momento sono piatti sotto app/view
come questo:
app/view/Table
app/view/Tree
app/view/PagingColumn
...
Ho pensato di ristrutturarlo, perché gli alberi e le tabelle usano le colonne, ma ci sono alcune colonne, che funzionano solo su un albero, alcune che lavorano sugli alberi e sui tavoli e in futuro ci sono probabilmente alcune che lavorano solo in tavoli, non lo so.
La mia prima idea era questa:
app/view/Table
app/view/Tree
app/view/column/PagingColumn
app/view/column/SelectionColumn
app/view/column/SparkLineColumn
app/view/column/TimeColumn
Ma dal momento che SelectionColumn è esplicitamente per gli alberi, ho il timore che i futuri sviluppatori possano avere l'idea di utilizzarli per ignorarli.
Ma come ristrutturarlo probabilmente?
In questo modo:
app/view/table/panel/Table
app/view/tree/panel/Tree
app/view/tree/column/PagingColumn
app/view/tree/column/SelectionColumn
app/view/column/SparkLineColumn
app/view/column/TimeColumn
O come questo:
app/view/Table
app/view/Tree
app/view/column/SparkLineColumn
app/view/column/TimeColumn
app/view/column/tree/PagingColumn
app/view/column/tree/SelectionColumn