X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FReaction%2FManual%2FGlossary.pod;fp=lib%2FReaction%2FManual%2FGlossary.pod;h=7e5490af4a9c819a1eb921e0f6ccc333f4530baf;hb=b9bfba58627ac35b39a6386506cdfe083f0f9edd;hp=d4cab7618ae36b469bc38898db0037296d6de3c2;hpb=5194f50467869bdf2bc1a5a85e9896111f940acb;p=catagits%2FReaction.git diff --git a/lib/Reaction/Manual/Glossary.pod b/lib/Reaction/Manual/Glossary.pod index d4cab76..7e5490a 100644 --- a/lib/Reaction/Manual/Glossary.pod +++ b/lib/Reaction/Manual/Glossary.pod @@ -4,52 +4,251 @@ 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. +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 -A software design pattern in which one +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