5. Code must work, but
•fixing a bug introduces (many) new bugs
•a new developer cannot (easily) comprehend the code
•implementing changes/features is (extremely) difficult
•no, or not up-to-date documentation
•cross browser problems
26. Corollaries
•controller must not know view internals
•view must fire custom events
•dynamic view must expose an API
•view must not access another view
27. Don’t do it like this
Controller
View
Button
ListenHide/Show
View
Store
Record/Field