Game Development Reference
In-Depth Information
chapter 43
MVC Object Model
Automation with CodeDom
“Every minute spent on infrastructure programming is a wasted minute.”
Juval Lowy, .NET Software Legend, April 2003
Users of an application or tool vary in their levels of knowledge and technical
competence. Some users can alter configuration files to optimize the application
for their environment, or access public APIs to extend the software, while others
barely get by with the self-help guides and manuals. Catering to this diversity of
simple users and power users can be quite challenging, and doing so in a clean and
maintainable way is even harder. How can you provide enough advanced func-
tionality to power users, without cluttering up the interface and confusing simple
users? Welcome to the wonderful concept of extensibility.
There are a number of ways to develop an extensible application, such as plugin
support, but one concept that is repeatedly ignored or abused is having a rich
object model that is decoupled from the presentation layer, with support for script
interaction and automation. Almost every Microsoft application, especially those
included in the Office suite, is built on top of a rich object model that has support
for automation. This level of extensibility allows any developer to create and
manipulate content or to automate functionality and actions within the application.
Scripts can be written to extend these applications to suit the needs of the power
users.
Sadly, the majority of applications available do not offer the level of extensibility
that the Microsoft products provide, and this is generally because of budget and
531
Search Nedrilad ::




Custom Search