Summary
Think about designing your application as an automation server for scripting languages.
Advertisement
Thinking about how your application would be scripted by a scripting language helps you understand your designs better, even if you ultimately decide not to make your application macro- or script-enabled. When you think about how it would be scripted, you need to come up with a logical and simple object model. If you design from the get-go with this idea in mind, your app can run as if it were being scripted by the user, or as if the user were a script.