Say we\'ve got a class like
public class Doer
{
public int Timeout {get;set;}
public string DoIt(string input)
{
string toReturn;
Looks a lot like Naked Objects are a good avenue to research. (Hanselminutes podcast.)
Briefly:
The naked objects pattern is defined by three principles:
- All business logic should be encapsulated onto the domain objects. This principle is not unique to naked objects: it is just a strong commitment to encapsulation.
- The user interface should be a direct representation of the domain objects, with all user actions consisting, explicitly, of creating or retrieving domain objects and/or invoking methods on those objects. This principle is also not unique to naked objects: it is just a specific interpretation of an object-oriented user interface (OOUI). The original idea in the naked objects pattern arises from the combination of these two, to form the third principle:
- The user interface should be created 100% automatically from the definition of the domain objects. This may be done using several different technologies, including source code generation; implementations of the naked objects pattern to date have favoured the technology of reflection. The naked objects pattern was first described formally in Richard Pawson's PhD thesis1 which includes a thorough investigation of various antecedents and inspirations for the pattern including, for example, the Morphic user interface. Naked Objects is commonly contrasted with the model-view-controller pattern. However, the published version of Pawson's thesis (see References) contains a foreword by Trygve Reenskaug, who first formulated the model-view-controller pattern, suggesting that naked objects is closer to the original intent of model-view-controller than many of the subsequent interpretations and implementations.
XAML Power Toys can generate XAML from a model
screenshot http://karlshifflett.files.wordpress.com/2008/10/v31createwpfdatagrid-thumb.jpg?w=553&h=484