java-design-patterns icon indicating copy to clipboard operation
java-design-patterns copied to clipboard

Component Object pattern

Open iluwatar opened this issue 9 years ago • 11 comments

Description: The Component Object pattern aims to encapsulate individual parts of a system into reusable components that can be dynamically composed. This pattern enhances modularity, reduces coupling, and promotes reusability of code. Each component represents a distinct piece of functionality and can be combined with other components to form complex behaviors without tightly binding them together.

Main elements of the Component Object pattern include:

  • Component Interface: Defines the behavior and properties that all components must implement.
  • Concrete Component: Implements the component interface with specific functionality.
  • Component Container: Manages the lifecycle and interactions of components, allowing dynamic composition.
  • Component Factory: Responsible for creating component instances and assembling them as needed.

References:

Acceptance Criteria:

  1. Implement a basic component interface that defines common behaviors.
  2. Create at least two concrete components implementing the component interface with distinct functionalities.
  3. Develop a component container that supports the dynamic composition and management of these components.

iluwatar avatar Oct 23 '16 06:10 iluwatar

I'd like to implement this. Please let me know if its still open

nikhilbarar avatar Jun 07 '18 18:06 nikhilbarar

Ok @nikhilbarar

iluwatar avatar Jun 07 '18 18:06 iluwatar

PR #769 Please let me know if any changes are required. Thanks

nikhilbarar avatar Jun 10 '18 19:06 nikhilbarar

This issue is free for taking again

iluwatar avatar Jul 21 '19 14:07 iluwatar

I'm going to try taking a stab at the remaining work on this (since the help wanted tag is still there)

noelfortman avatar Nov 18 '21 03:11 noelfortman

That's great news @noelfortman. It's assigned to you now. Looking forward to the PR!

iluwatar avatar Nov 28 '21 05:11 iluwatar