Context Data Structure for MVC Application State Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the MVC design pattern, defining relationships between data elements and managing application state is cumbersome, often requiring significant redundant code and leading to inefficient data transport and potential user interface flickering in client-server systems.
Innovation Solution
The extended MVC design pattern introduces the concept of context, which establishes a structured storage place for data related to a controller, using a design-time data structure to create a run-time data structure that reduces redundant storage and improves data consistency by declaratively defining relationships, allowing for efficient data transport and minimizing code redundancy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If predefined relationships are defined through dependencies in a relational database, then data relationships can be established, but for data without predefined relationships (e.g., model-view relationships), significant redundant code is required to define relationships and enable data transport
Solution Approach 1:
The patent introduces a context as an intermediary data structure that mediates between the model and view. The context automatically manages data relationships and transport between model and view without requiring explicit application code, thus reducing code redundancy while maintaining the ability to define relationships.
Solution Approach 2:
The context is designed to be self-managing, automatically handling data transport and relationship maintenance between model and view. This self-service mechanism eliminates the need for developers to write redundant code for data synchronization, as the context autonomously manages these relationships.
2Ease of operation
If application code is written to memorize and administrate application state using state variables, then the current status of user interaction can be tracked, but this requires significant code for managing state
Solution Approach 1:
The patent merges the state management functionality into the context data structure. Instead of separate state variables requiring management code, the context itself holds and manages the application state, combining data storage and state tracking into a single unified structure that reduces code complexity.
3Reliability
If the client sends a request to the server to rebuild a current page, then the page can be updated, but this causes flickering on the display device
Solution Approach 1:
The context is prepared and data is organized on the server side before the client requests page rendering. This preliminary preparation allows the server to send only the necessary delta information rather than rebuilding the entire page, thus preventing flicker while maintaining update capability.
Solution Approach 2:
The patent extracts only the changed or necessary data portions from the full page context and sends them to the client as delta information. This selective extraction avoids transmitting unnecessary data that would cause complete page rebuilds and flickering, while still achieving the required page updates.
4Object-affected harmful factors
If mechanisms are implemented to send only delta information to the client, then flickering is reduced, but application-specific coding must be developed on both client and server sides
Solution Approach 1:
The context data structure serves multiple functions: it manages model-view relationships, tracks application state, and enables delta information extraction. This universal, multi-functional design eliminates the need for separate application-specific coding mechanisms on both client and server sides, as the context handles all these tasks through its standardized interface.
Data Source
AI summary
Methods, systems and computer program products implementing techniques for using interrelated data at run time. The techniques include establishing a model, the model implementing application logic of an application; establishing at least one view for presenting the model; establishing at least one controller for manipulating the model; and establishing at least one storage area, the storage area relating to the controller and storing an instance of a first data structure, the instance of the first data structure comprising application data having been stored in the storage area by an access method, the first data structure having been declared prior to execution of the application.


