Extend Functionality via Controllers and Actions
The eXpressApp Framework automatically generates the UI based on your business model. This UI contains built-in features to work with data: filtering, reporting, navigating and so on. These features may be sufficient for a simple business application. However, complex applications may demand a more extensive functionality set. To implement additional features, the eXpressApp Framework provides the Controllers and Actions concept. This concept allows the implementation of both internal application features and end-user interaction.
Controllers are the objects that provide access to the main elements in a window at any stage of their life cycle. For the most part, Controllers serve as containers for Actions. Like XPO classes are abstractions of data tables, Actions are abstractions of end-user interaction elements - buttons, menus, etc. An Action specifies the visual representation of a UI element and its associated code. So, you don't have to deal with low-level implementation details of particular editors, toolbar systems, context menus or anything else. And at the same time, this higher-level of abstraction allows the same Action to be used in both Windows Forms and ASP.NET Web applications.
The Controllers that represent the basic functionality are contained in the System Module, which is added to every XAF application by default. So, even the applications that only have the business model implemented include a lot of functionality. The default Controllers are primarily responsible for data management. With their help, you can add new records, delete existing ones, perform a full text search, etc.

To extend your application's functionality, add the required Controllers and Actions. In addition, you can modify the default features by replacing the corresponding Controllers with your own.
|