Feature oriented-programming
Christian Prehofer · 2010
Feature-oriented programming has its origin in the old quest of computer science: modular composition of software "artifacts" in software development. While there exist many notions of modularity and composition, feature-oriented programming tackles the case of highly-entangled software features where typical module or component concepts fail. The reasons for this are feature interactions and dependencies which make it very hard to write modular software which can be composed in a flexible way. In contrast to other efforts like aspect-oriented programming, feature-oriented programming has from the beginning focused on the semantics or behavior of software, not just on code modularity.