Prima di tutto, durante le interviste in passato, molte volte mi è stato chiesto di progettare alcune o altre varianti del gioco di carte come puzzle di programmazione, e ho provato a progettarlo in modalità OO, ma non sono mai stato soddisfatto le mie soluzioni. Tuttavia non è stato fino a poco tempo fa che ho capito che mi stavo avvicinando al problema dalla direzione sbagliata. In particolare stavo cercando di risolvere il problema modellando la singola carta come oggetto.
Il problema con questo è che le singole carte non hanno alcun comportamento intrinseco non banale e quindi non sono candidate (o primarie) idonee come oggetti. Ciò che è interessante e importante delle carte sono regole e vincoli, come potrebbero esserci solo quattro semi , o solo tredici carte per seme. Certo, poi ci sono un numero qualsiasi di regole per i giochi.
Quindi le mie domande sono
- Ci sono degli idiomi / costrutti / schemi da programmare per regole e amp; vincoli.
- Quanti in 1 possono essere applicati in congiunzione con il paradigma OO.