Generic Factory Class for Automatic Software Component Discovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems require explicit registration steps and hard-coding to incorporate custom classes into enterprise software applications, which can be cumbersome and require knowledge of all derived classes or interface implementations.

Innovation Solution

A generic factory class that searches for and collects all derivations of a specified base class or interface implementation, performing optional syntax checks to identify unexecutable classes and prevent their presentation at design-time and run-time, facilitating efficient class identification and instantiation without explicit registration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If explicit registration and hard-coding are used to incorporate custom classes, then reliability of class instantiation is improved, but device complexity and ease of operation deteriorate

Engineering Contradiction:
Improveclass instantiation reliabilityVSAvoidregistration process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The factory class automatically discovers and registers itself and its derived classes without requiring external registration. The system performs self-service by using reflection to identify all classes derived from a base class or implementing an interface, eliminating the need for manual registration processes while maintaining reliable class instantiation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The manual mechanical registration process is replaced with an automated reflection-based discovery mechanism. Instead of developers manually registering classes through code or configuration, the system uses runtime reflection to automatically identify and register all relevant classes, reducing complexity while maintaining reliability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If explicit registration and hard-coding are used to incorporate custom classes, then reliability of class instantiation is improved, but ease of operation deteriorates

Engineering Contradiction:
Improveclass instantiation reliabilityVSAvoidclass integration ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The factory class automatically discovers and registers itself and its derived classes without requiring external registration. The system performs self-service by using reflection to identify all classes derived from a base class or implementing an interface, eliminating the need for manual registration processes while maintaining reliable class instantiation.

Inventive Principle:
Principle #25Self-service

3Reliability

If all derived classes and interface implementations are required to be known, then reliability of customization is improved, but productivity deteriorates

Engineering Contradiction:
Improvecustomization reliabilityVSAvoidcustomization productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The factory class automatically discovers and registers itself and its derived classes without requiring external registration. The system performs self-service by using reflection to identify all classes derived from a base class or implementing an interface, eliminating the need for manual registration processes while maintaining reliable class instantiation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary action by automatically discovering and registering all classes at initialization time. This preliminary discovery phase ensures that all classes are known and registered before runtime operations begin, maintaining customization reliability while improving productivity by eliminating the need for developers to manually enumerate all classes.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If manual registration is required for custom classes, then measurement precision of class availability is improved, but loss of time increases

Engineering Contradiction:
Improveclass availability detection precisionVSAvoidregistration time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The manual mechanical registration process is replaced with an automated reflection-based discovery mechanism. Instead of developers manually registering classes through code or configuration, the system uses runtime reflection to automatically identify and register all relevant classes, reducing complexity while maintaining reliability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system performs preliminary action by automatically discovering and registering all classes at initialization time. This preliminary discovery phase ensures that all classes are known and registered before runtime operations begin, maintaining customization reliability while improving productivity by eliminating the need for developers to manually enumerate all classes.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11947931B2Generic factory class
Publication Date: 2024.04.02 SAP SE
  • US11947931B2 patent drawing
  • US11947931B2 patent drawing
  • US11947931B2 patent drawing

AI summary

Systems and methods provide a generic factory class to determine one or more classes implementing an interface and/or derived from a base class in response to a call from an application factory class by retrieving a list of the one or more classes implementing the interface or derived from the based class, determining properties of each of the one or more classes, and return, based on the properties, a name of each of one or more of the one or more classes.