Java Interface Isolation for GUI and Business Logic Modularity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The development and maintenance of client applications in Object Oriented GUI-based systems become complex due to the interrelationships between View, Handler, and Business Object sub-systems, leading to a mixing of design steps and loss of modularity advantages.
Innovation Solution
Defining clear interfaces between the View and Business Logic sub-systems, and between the Handler and Business Logic sub-systems, allowing for independent development of each sub-system, with the View obtaining business data through a Data Interface and the Handler invoking business functions via a Business Interface, effectively isolating GUI from business logic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If View, Handler, and Business Object sub-systems are separated into distinct modules, then modularity and maintainability are improved, but the complexity of managing interrelationships between these sub-systems increases
Solution Approach 1:
The patent introduces interface objects as intermediaries between the View, Handler, and Business Object sub-systems. These interface objects serve as standardized communication channels that define contracts for data exchange and method invocation. By inserting this intermediary layer, the patent reduces the complexity of managing direct interrelationships between sub-systems while preserving modularity, as each sub-system interacts through well-defined interfaces rather than direct connections.
Solution Approach 2:
The patent segments the client application into distinct sub-systems (View, Handler, Business Object) with clearly defined responsibilities and introduces separate interface objects for each sub-system. This segmentation allows each component to be developed, tested, and maintained independently, improving modularity while the structured interface definitions manage the complexity of interrelationships.
2Productivity
If design steps for View, Handler, and Business Object are mixed into one process, then development speed increases, but the advantages of modular design are lost
Solution Approach 1:
The patent establishes interface definitions as preliminary actions before implementing the actual sub-systems. By defining the interfaces first with clear contracts for data exchange and method signatures, developers can then implement each sub-system independently according to these pre-defined specifications. This preliminary structuring enables parallel development of different sub-systems while maintaining modular design advantages, thus resolving the contradiction between development speed and modular design benefits.
Solution Approach 2:
The interface objects serve as universal communication protocols that can be used across multiple sub-systems. The standardized interface definitions allow different sub-systems to interact through common conventions, enabling developers to work on different components simultaneously while maintaining consistency. This universality supports both rapid development through reusability and modular design through clear separation of concerns.
Data Source
AI summary
A method of developing a computer software system comprising defining a first interface between a proposed view sub-system and a proposed business logic sub-system, defining a second interface between a proposed handler sub-system and the proposed business logic sub-system, creating the view sub-system in accord with the second interface, and creating the handler sub-system in accord with the second interface. In another form, the invention provides is a related computer software system and computer program.


