Factory ID Object Creation Eliminates Redundant Interfaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The factory pattern in object-oriented programming is inflexible and often results in the creation of redundant interfaces, limiting the ability to create objects without specifying the exact class, which restricts flexibility and abstraction in object creation.

Innovation Solution

A factory identification system that uses factory IDs to differentiate between objects, allowing for the creation of objects based on these IDs and additional construction parameters, thereby configuring classes or prototypes with factory IDs rather than interfaces, enabling more flexible object creation without redundant interfaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the traditional factory pattern uses interfaces to create objects, then abstraction is provided, but flexibility is limited and redundant interfaces are created

Engineering Contradiction:
Improveflexibility in object creationVSAvoidnumber of redundant interfaces
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter used for object creation from interface-based to identifier-based. Instead of requiring code to specify concrete classes or implement multiple interfaces, the factory now accepts simple string identifiers (factory IDs) that map to objects. This parameter change eliminates the need for redundant interfaces while maintaining abstraction, as the factory internally handles the mapping between identifiers and object instances.

Inventive Principle:
Principle #35Parameter changes

2Loss of information

If the factory pattern specifies concrete classes, then object creation is direct, but abstraction between code and implementation is lost

Engineering Contradiction:
Improveabstraction between code and implementationVSAvoidease of object creation
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism - the factory ID system - that sits between the code and the concrete object implementation. The factory acts as a mediator that receives simple identifier requests from code and translates them into appropriate object instances internally. This intermediary layer preserves abstraction by hiding the concrete class details while maintaining ease of operation through simple identifier-based requests.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If multiple interfaces are created to handle different object types, then object differentiation is achieved, but system complexity increases

Engineering Contradiction:
Improveobject differentiation accuracyVSAvoidnumber of interfaces
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent makes the factory universal by enabling a single factory to handle multiple object types through identifier-based differentiation. Instead of creating separate interfaces for different object types, the factory uses factory IDs to distinguish between object types and return appropriate instances. This multi-functional approach maintains precise object differentiation while eliminating the need for multiple interfaces, reducing system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10324691B2Factory identification system
Publication Date: 2019.06.18 HOME BOX OFFICE INC
  • US10324691B2 patent drawing
  • US10324691B2 patent drawing
  • US10324691B2 patent drawing

AI summary

The described technology is directed towards a factory identification system, in which a factory object is provided with a factory identifier (ID) that specifies information regarding a desired object that is more specific than specifying an interface. Additional construction parameters such as an object ID may be provided to further describe the desired object. Also described are object caching and reuse, and tagging the object with information that may be preserved and later used to recreate an object.