> For the complete documentation index, see [llms.txt](https://community-test.logicnets.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://community-test.logicnets.com/release-9/design-considerations-and-frameworks/frameworks/application-starter-framework/modeling-strategies-with-application-starter-framework.md).

# Modeling Strategies with Application Starter Framework

## Modeling Choice

The Application Starter Framework gives you a high degree of flexibility, and you can use it to develop very sophisticated applications with many different features, UI screens, and data processing steps. Typically, it is better for you to model more complex applications using the industry standard model, view, controller (MVC) approach rather than a more linear, node-by-node, step-by-step approach. The differences are described below. Ultimately, both approaches work but the MVC model improves maintainability and keeps your logicnets easier to work with for larger applications.

### MVC Model

The Application Starter Framework allows you to specify separate UI and process logicnets. In general, a UI logicnet renders the user interface of a section and the process logicnet processes the user inputs from that section, based on the industry standard MVC architectural pattern for UI applications. In this approach, you build the view logicnets that contain the user interface and you build separate controller logicnets that do the processing. These logicnets share and update the same data model. With each user click (Submit, for example) the system runs the process logicnets, receives and shares data from the context, and then passes it to the UI logicnets, which presents the latest information on the screen.

![](https://2802811211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdFhfexCjZ5JMhwGzzywq%2Fuploads%2Fgit-blob-661f325ada344755152484e43855f496255519a3%2F6592edab-bbd0-408b-ac13-11f57a1627f3.jpg?alt=media)

ln LogicNets' models, the process logicnet is sometimes optional, and it is not required in those cases where user input is collected or displayed but does not require further processing.

Look at the [Easy Customization Starter App Example Project](/release-9/example-gallery/example-applications/starter-app-example-project-release-7-4-only.md) for a simple demonstration of the MVC model at work.

* **main\_ui\_net** is the logicnet that creates the view of the grid.
* **main\_panel\_process** (in the *no customization required* folder) is the controlling logicnet that listens for what action the user takes and routes to the appropriate next UI logicnet on that basis.

For more information on the MVC approach in general, see [MVC Pattern at geeksforgeeks.org](https://www.geeksforgeeks.org/mvc-design-pattern/).

### Linear Approach

Alternatively, you could instead combine all logic into a single UI logicnet. If you do this, however, you must place all processing at the top of the logicnet so the input entered by your users is available for processing.

![](https://2802811211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdFhfexCjZ5JMhwGzzywq%2Fuploads%2Fgit-blob-72da56ba6ca96b3de5699311f84ce4eba4e984c0%2F7ac5a01f-b80c-4e1a-937b-9f4b628f31a0.jpg?alt=media)

In this alternative approach, you only use form parts. You do not need to use (a yellow) form node at the end of the logicnet.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://community-test.logicnets.com/release-9/design-considerations-and-frameworks/frameworks/application-starter-framework/modeling-strategies-with-application-starter-framework.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
