Reuse and Refactor
Collaborate with us
Edit this page on GitHub
As your apps grow, keep them maintainable and scalable by centralizing the logic in a reusable, modular way. In OutSystems you can use different types of modules and reference them as producer modules. Similarly, the consumer modules use the elements of logic that the producers expose.
Here is an overview of module types.
Module type | Description |
---|---|
Reactive | Module for building Reactive Web Apps. Supports UI and logic. |
Mobile | Module for building Mobile Apps. Supports UI and logic. |
Traditional Web | Module for building Traditional Web Apps. Supports UI and logic. |
Service | Enforces the encapsulation of core services by abstracting either business concepts or business-agnostic services. See more at Service modules. |
Library | Encapsulates logic and UI patterns that are database independent, promoting the reuse of these elements within your factory. See more at Library modules |
Extension | Lets you integrate with enterprise systems and to extend the existing functionality and data model of OutSystems. You can learn more in the document about extending logic with your code. |
You can also create blank modules, which are modules that don't contain user interface. For example, if you're creating a Reactive Web App, you can add a blank module to avoid referencing OutSystems UI.
Articles in this Section
- Use Actions to Encapsulate Logic
- Learn how to create actions to be reused in your logic.
- Expose and Reuse Functionality Between Modules
- Learn how to make elements of your module available for reuse by other modules and how to to use elements exposed by other modules.
- Handle Changes in Exposed Functionality
- Handle the impact on modifications to elements that are being reused between modules.
- Understand Strong and Weak Dependencies
- Understand what are strong dependencies and weak dependencies between modules.
- Use Services to Expose Functionality
- Use Service modules and Service applications to design a service-oriented architecture. Learn the differences between Server Actions and Service Actions, and which of them you should use to expose your service.
- Convert to Services
- OutSystems gives you the capability to convert existing logic, modules and applications to Services in a systematic way.
- Libraries
- A Library is a module type that allows you to reduce the number of dependencies in a given environment.
- Convert to Library
- How to convert an existing Mobile or Reactive module to a Library.