tangible® architect™ enables the rapid creation of great User Interfaces You are best at understanding user needs and designing great user interfaces that enable users to get the task at hand done quickly? Then you’ll be happy to hear that tangible® architect™ does
not generate User Interfaces that are not tailored to the specific use case you are working on. Instead, tangible® architect™ makes available to you all data objects you might need to draw information from and enables you to directly bind them to the presentation layer. Using the latest Data-Binding Technology it is a snap to display even complex data in your User Interface (e.g. in an Editable Tree View). Read on to find out more.
tangible® architect™ makes the application model obvious to you We found that most programmers are familiar and comfortable with the way Microsoft Office Applications expose their functionality to programmers in form of an object model.
An object model has one root object, e.g. MyApplication, from which all other objects are accessible by navigating object relationships. The following diagram shows an object model for an addressbook application. The object model is used by some client code, and the object model automatically stores its data in a database - hiding the details of SQL programming from the developer. Each class in an object model is described by a C# interface from which it can be generated.
Using the navigational approach to retrieve objects from a database is natural when you think of business logic code that modifies an order and related items, or a treeview that displays a hierarchy of items. In addition, an object model provides query functionality so that specific objects can be retrieved directly just by specifying the desired object characteristics.
Intelli-Sense and the XML Code Comments feature are available to the developer, as the object model is completely strong-typed. This makes writing client code against an object model easy. Have a look at a code snippet that opens a database connection and creates a few objects:
// decleration of a root object pointer in the client codeprivate CRM.IAddressBook theAddressBook;
// instanciate the object model and connect to the database create
theAddressBook =
new CRM.AddressBook(new ConnectionSettings(
"CRM_DB");
// Open up a new transaction - there are two modes dirty read and repeatable read
theAddressBook.BeginTransaction(tRepository.IsolationLevels.DirtyRead);
// Create a named Customer and a named Employee
CRM.ICustomer theCustomer1 = theAddressBook.Customers.CreateCustomer(
"Mr. Mayer");
// Create a service request bi-directionally linked to the customer
CRM.IServiceRequest theServiceRequest
= theCustomer1.RequestedServiceRequests.CreateServiceRequest(
"Problem " +
"with TV in room");
theServiceRequest.IssueDate = System.DateTime.Now;
theServiceRequest.PriorityLevel = 2;
// link Employee to CustomertheCustomer1.ContactPersons.LinkEmployee(theEmployee1);
// Commit the transaction
theAddressBook.CommitTransaction();
You no longer need to navigate large amounts of source code or DDL script in order to find the information you need. Using the tangible architect class view, you’ll find the objects in a few seconds. Unlike other documentation, the class view is always up to date and can’t be wrong.
Using tangible architect you can share your system vision with colleagues and empower your team to work togehter efficiently - no matter which media is preferred by a team member: UML, C# Code or Wizards.
tangible architect accelerates user interface development The industry's best practice for implementing complex graphical user interfaces in record time is the use of data-binding. Data-binding is a mechanism defined by Microsoft where a data-source is providing its information properties by implementing a set of interfaces. Intelligent controls like a Grid View, a data-bound Tree View, the Property Grid and Textboxes are then able to automatically display, and let the user edit, the information in the objects, thereby executing the business rules defined in your object model. Binding a control to a data source is as easy as setting its data source property to the business object.
Here is the code: // Binding an editable data grid and an editable tangible treeview
treeview1.DataSource = AddressBook;
dataGrid1.DataSource = AddressBook.Customers[0].RequestedServiceRequests;
See the screenshot with the editable controls:

By using tangible architect to generate business objects that implement data access, the business logic and data-binding, you can boost your productivity enormously
tangible architect eases debugging
The object-oriented database browser of Microsoft® Meta Data Services™ is available to you for all persistent object models. This makes it easy to review and edit the data in the database. As the database is self-describing you you don't even need the object model's accompanying DLL to use the browser.
