Vorrei creare un componente composto da una scheda e l'angolo circostante. La dimensione della scheda (e quindi anche del bordo) è definita in fase di esecuzione. Alcuni esempi (la scheda è chiara e il bordo è scuro): alt text http://img340.imageshack.us/img340/3862/examplegw.pngQuale struttura dati utilizzare nel mio esempio
La scheda è composta da oggetti del tipo BoardCell e il bordo è costituito da oggetti del tipo BorderCell. La struttura dati per la scheda è BoardCell [,] - una semplice matrice bidimensionale.
Come posso rappresentare il bordo? Ho iniziato con qualcosa di simile:
public BorderCell TopLeft // top left corner cell
public BorderCell TopRight // top right corner cell
public BorderCell BottomRight // bottom right corner cell
public BorderCell BottomLeft // bottom left corner cell
public BorderCell[] Top // top border (without corners)
public BorderCell[] Bottom // bottom border (without corners)
public BorderCell[] Left // left border (without corners)
public BorderCell[] Right // right border (without corners)
Non mi piace questa rappresentazione del confine, si può suggerire qualcosa di meglio?
aggiuntive: mi piacerebbe avere un metodo SetSomethingForTheCell sul bordo dell'oggetto:
public void SetSomethingForTheCell(...)
ma con la mia struttura dei dati attuali non so cosa passa come parametro.
Dipende da cosa si vuole fare con le cellule. – SLaks
Hai mai dovuto scorrere tutte le celle indipendentemente se sono celle di bordo o di bordo? Come (vuoi) affrontarli? –
SLaks: BoardCell contiene solo dati e nessun comportamento. BorderCell contiene principalmente comportamenti e alcuni dati, che è completamente diverso da BoardCell. – sventevit