=head1 NAME Reaction::Manual::Glossary - Terms and Definitions used in Reaction =head1 GLOSSARY =head3 Controller Reaction controllers are extended L controllers. The controllers coordinate L access and actions with the view logic in your Ls. =over =item * L =item * L =back =head3 Domain Model This is the implementation of your business logic. An example would be a L schema providing you with collections, objects and relationships. Your Domain Model will interface with Reaction through an L. Therefore your domain model itself can and should be decoupled from your Reaction application. =over =item * L =back =head3 Focus Stack Whenever you push a L in your controller, you are pushing it onto the Focus Stack. When the root window (containing the root Focus Stack) is flushed by Reaction at the end of the request, the ViewPorts' Ls will be rendered inside each other. A typical example would be a L ViewPort being pushed onto the Focus Stack by your root action. A L controller would then, if its list action was requested, push a L ViewPort. On flushing, the ListView will be rendered inside the SiteLayout. =over =item * L =back =head3 Interface Model Provides a standardized way for the application to interact with the Ls. It does this by providing objects, collections and actions. A CRUD capable interface model can be generated from a L schema on-the-fly via L. =over =item * L =item * L =item * L =item * L =item * L =back =head3 Layout Defines how a L fragment is rendered. They are organized in Ls. Its arguments are provided by the Widget the LayoutSet specified. Layout fragments reference other fragments and can be overridden or wrapped when the LayoutSet is an extension of another. =over =item * L =item * L =back =head3 LayoutSet Contains Ls. A LayoutSet is specified (or autodiscovered) for any L. It determines which L to use as the functional part used to render the ViewPort. A LayoutSet can also extend on another LayoutSet. With this, Ls of the parent can be modified. This allows for very fine-grained control when developing different Ls. =over =item * L =item * L =item * L =back =head3 ListView The ListView L, L and L group allows you to render an L collection as a table. =over =item * L =item * L =item * L =back =head3 MVC Model-View-Controller - a high-level software design pattern, which focuses on separation of concerns. For details on MVC, try here, here, and here. Reaction is an extended MVC system; it uses a two-layer Model (the Interface Model, with the Domain Model below it). Views are implemented by DOCTODO. Controllers are represented by DOCTODO. =head3 Observer DOCTODO: A software design pattern in which one =head3 RenderingContext The context in which the L's rendering via the L will be done. A typical example would be a L