Object-oriented design in feature-oriented programming

Sven Schuster, Sandro Schulze
2012 Proceedings of the 4th International Workshop on Feature-Oriented Software Development - FOSD '12  
Object-oriented programming is the state-of-the-art programming paradigm for developing large and complex software systems. To support the development of maintainable and evolvable code, a developer can rely on different mechanisms and concepts such as inheritance and design patterns. Recently, feature-oriented programming (FOP) gained attention, specifically for developing software product lines (SPLs). Although FOP is an own paradigm with dedicated language mechanisms, it partly relies on
more » ... ct-oriented programming. However, only little is known about feature-oriented design and how object-oriented design mechanisms and design principles are used within FOP. In this paper, we want to raise awareness on design patterns in FOP and stimulate discussion on related topics. To this end, we present an exemplary review of using OO design patterns in FOP and limitations thereof from our perspective. Subsequently, we formulate questions that are open and that we think are worth to discuss in the context of feature-oriented design.
doi:10.1145/2377816.2377820 dblp:conf/gpce/SchusterS12 fatcat:z7zweljdxjeojklgq5onfvjure