Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Layer Supertype pattern #1302

Open
iluwatar opened this issue Jul 7, 2020 · 5 comments · May be fixed by #3134
Open

Layer Supertype pattern #1302

iluwatar opened this issue Jul 7, 2020 · 5 comments · May be fixed by #3134

Comments

@iluwatar
Copy link
Owner

iluwatar commented Jul 7, 2020

Description:

The Layer Supertype design pattern is used to provide a common base class for all objects in a particular layer. This pattern simplifies code maintenance and enforces consistency across similar objects. By implementing a layer supertype, we can centralize common behaviors and properties, reduce code duplication, and facilitate easier modifications and extensions in the future.

Main elements of the pattern:

  1. Layer Supertype: A common abstract base class or interface that provides shared methods and properties for all classes in the same layer.
  2. Inheritance: Concrete classes inherit from the layer supertype to gain common functionality.
  3. Separation of Concerns: This pattern helps in maintaining a clear separation between different layers of the application, making the code more modular and easier to manage.

References:

Acceptance Criteria:

  1. Create an abstract base class or interface for the chosen layer (e.g., Service Layer, DAO Layer) that includes common properties and methods.
  2. Refactor existing classes in the chosen layer to inherit from the new layer supertype, ensuring they implement or utilize the common functionality.
  3. Update documentation and examples to demonstrate the use and benefits of the Layer Supertype pattern in the project.
@ohbus
Copy link
Contributor

ohbus commented May 22, 2021

@waterman6 please confirm before starting on working with an issue.

@ohbus ohbus linked a pull request May 22, 2021 that will close this issue
@ZQH777
Copy link

ZQH777 commented Oct 13, 2022

Is this issue still free? Can I work on it?

@iluwatar
Copy link
Owner Author

Ok @ZQH777

@stale
Copy link

stale bot commented Nov 28, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the status: stale issues and pull requests that have not had recent interaction label Nov 28, 2022
@iluwatar iluwatar added info: help wanted and removed status: stale issues and pull requests that have not had recent interaction labels Dec 3, 2022
@iluwatar iluwatar moved this from In Progress to Todo in Java Design Patterns project Dec 3, 2022
@MeryAmr
Copy link

MeryAmr commented Dec 1, 2024

@iluwatar I am interested in this issue could you please assign me this?

@iluwatar iluwatar moved this from Todo to In Progress in Java Design Patterns project Dec 1, 2024
MeryAmr added a commit to MeryAmr/java-design-patterns that referenced this issue Dec 7, 2024
Implemented the Layer Supertype Pattern in Service Layer, updated README file and PUML class diagram to reflect the new changes.
@MeryAmr MeryAmr linked a pull request Dec 7, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
4 participants