2012-04-20 15 views
5

Stavo riflettendo sul discorso di Rich Hickey, Simple Made Easy, quando sono arrivato al "Cosa c'è nel tuo Toolkit?" diapositiva. C'è una lista di contrasti tra complessità e semplicità, questo suscitato il mio interesse:Alternative ai condizionali

Complessità: condizionali, Semplicità: Regole

Qualcuno ha qualche indicazioni su ciò che tipo di cose Rich stava proponendo qui ?

+0

Credo di conoscere la risposta generale, [regole motori] (http://en.wikipedia.org/wiki/Business_rules_engine), e che questo inizia a calpestare le terre di cose come [programmazione logica] (http: //en.wikipedia.org/wiki/Logic_programming), ma mi chiedevo se qualcuno potesse parlare al * come *, o fornire * esempi motivanti * di modi in cui possiamo trattare in modo dichiarativo la logica del dominio. Grazie! – Chris

risposta

4

Immagino che stia reffando su Conditionals come espressioni booleane nei linguaggi di programmazione. Se hai molte dichiarazioni condizionali come loop e switch, diventerà molto veloce. Il modo più semplice è definire le regole. Le regole sono in un linguaggio più naturale, puoi gestirle in un modo più astratto per descrivere le tue condizioni.

Consulta Gestione degli accessi di Windows in cui puoi assegnare le regole agli utenti in merito ai diritti che hanno. Come cambiare lo sfondo del desktop. Le regole sono facili da capire ed è una semplice decisione booleana se una regola viene applicata o meno. Ma se estrai tutti i condizionali dietro le regole diventerà molto complesso. Perché devi preoccuparti di ogni cosa che potrebbe influenzare lo sfondo in questo caso.

Alla fine entrambi sono metodi per descrivere una condizione, ma l'uno è più semplice dell'altro.

+0

Al vincitore va il bottino – Chris