Feature Oriented Programming
Feature-orientierte Programmierung (FOP, engl. feature-oriented programming) ist ein Programmierparadigma zur Entwicklung von Software-Produktlinien.
Grundlage der Feature-orientieren Programmierung sind Softwaremerkmale (Features), die bei Design und Implementierung als Elemente erster Ebene berücksichtigt werden. Features stellen Erweiterungen von Programmfunktionalität dar. Dabei unterscheiden sich Features von Cross-Cutting Concerns dahingehend, dass sie Anforderungen von Programmnutzern direkt widerspiegeln.
Heutige Ansätze arbeiten meist mit Template-Systemen, die komplexe Software wie CRM- und ERP-Systeme zusammensetzen können. Feature Oriented Programming unterscheidet sich von normalen Modul-Systemen dadurch, dass die Ansteuerung der Features feingranularer möglich ist, sowie Features auch Modul-übergreifend sein können.