Fallucchi, F.; Gozzi, M. Puzzle Pattern, a Systematic Approach to Multiple Behavioral Inheritance Implementation in Object-Oriented Programming. Appl. Sci.2024, 14, 5083.
Fallucchi, F.; Gozzi, M. Puzzle Pattern, a Systematic Approach to Multiple Behavioral Inheritance Implementation in Object-Oriented Programming. Appl. Sci. 2024, 14, 5083.
Fallucchi, F.; Gozzi, M. Puzzle Pattern, a Systematic Approach to Multiple Behavioral Inheritance Implementation in Object-Oriented Programming. Appl. Sci.2024, 14, 5083.
Fallucchi, F.; Gozzi, M. Puzzle Pattern, a Systematic Approach to Multiple Behavioral Inheritance Implementation in Object-Oriented Programming. Appl. Sci. 2024, 14, 5083.
Abstract
Object-Oriented Programming (OOP) has long been a dominant paradigm in software development, but it's not without its challenges.
One major issue is the problem of tight coupling between objects, which can hinder flexibility and make it difficult to modify or extend code.
Additionally, the complexity of managing inheritance hierarchies can lead to rigid and fragile designs, making it hard to maintain and evolve the software over time.
This paper introduces a software development pattern that seeks to offer a renewed approach to writing code in Object-Oriented (OO) environments.
Addressing some of the limitations of the traditional approach, the Puzzle Pattern focuses on extreme modularity, favoring writing code exclusively in interfaces.
Concrete classes are subsequently assembled through the implementation of those interfaces, reducing coupling and introducing a new level of flexibility and adaptability in software construction.
The highlighted pattern offers significant benefits in software development, promoting extreme modularity through interface-based coding, enhancing adaptability via multiple inheritance, and upholding the SOLID principles, though it may pose challenges such as complexity and a learning curve for teams.
Computer Science and Mathematics, Computer Science
Copyright:
This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.