Puzzle Pattern, a Systematic Approach to Multiple Behavioral Inheritance Implementation in Object-Oriented Programming

Uloženo v:
Podrobná bibliografie
Vydáno v:Applied Sciences vol. 14, no. 12 (2024), p. 5083
Hlavní autor: Fallucchi, Francesca
Další autoři: Gozzi, Manuel
Vydáno:
MDPI AG
Témata:
On-line přístup:Citation/Abstract
Full Text + Graphics
Full Text - PDF
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!

MARC

LEADER 00000nab a2200000uu 4500
001 3072252234
003 UK-CbPIL
022 |a 2076-3417 
024 7 |a 10.3390/app14125083  |2 doi 
035 |a 3072252234 
045 2 |b d20240101  |b d20241231 
084 |a 231338  |2 nlm 
100 1 |a Fallucchi, Francesca  |u Department of Engineering Sciences, Guglielmo Marconi University, 00193 Roma, Italy; <email>m.gozzi@studenti.unimarconi.it</email>; Leibniz Institute for Educational Media, Georg Eckert Institute, Freisestraße 1, 38118 Braunschweig, Germany 
245 1 |a Puzzle Pattern, a Systematic Approach to Multiple Behavioral Inheritance Implementation in Object-Oriented Programming 
260 |b MDPI AG  |c 2024 
513 |a Journal Article 
520 3 |a Featured ApplicationThis software design pattern can be used in OOP programming in order to promote conceptual clarity, reduce coupling, and facilitate system scalability.AbstractObject-oriented programming (OOP) has long been a dominant paradigm in software development, but it is 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 building blocks that do not possess a state (e.g., Java interfaces that support concrete methods definitions in interfaces starting from version 8). 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. 
653 |a Object oriented programming 
653 |a Problem solving 
653 |a Behavior 
653 |a Software 
653 |a Principles 
653 |a Software development 
653 |a Collaboration 
653 |a Learning curves 
653 |a Teams 
653 |a Concrete 
653 |a Systems design 
653 |a Flexibility 
653 |a Modularity 
653 |a Code reuse 
653 |a Product design 
653 |a Polymorphism 
653 |a Interfaces 
700 1 |a Gozzi, Manuel  |u Department of Engineering Sciences, Guglielmo Marconi University, 00193 Roma, Italy; <email>m.gozzi@studenti.unimarconi.it</email> 
773 0 |t Applied Sciences  |g vol. 14, no. 12 (2024), p. 5083 
786 0 |d ProQuest  |t Publicly Available Content Database 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/3072252234/abstract/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch 
856 4 0 |3 Full Text + Graphics  |u https://www.proquest.com/docview/3072252234/fulltextwithgraphics/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch 
856 4 0 |3 Full Text - PDF  |u https://www.proquest.com/docview/3072252234/fulltextPDF/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch