Object-oriented application frameworks

Mohamed E. Fayad, Douglas C. Schmidt · Communications of the ACM · 1997

Object-oriented application frameworks are a promising technology for reifying proven software designs and implementations in order to reduce the cost and improve the quality of software.A framework is a reusable, "semi-complete'' application that can be specialized to produce custom applications [7,10].In contrast to earlier OO reuse techniques based on class libraries, frameworks are targeted for particular business units (such as data processing or cellular communications) and application domains (such as user interfaces or real-time avionics) [11].Frameworks like MacApp, ET++, Interviews, ACE, Microsoft's MFC and DCOM, JavaSoft's RMI, and implementations of OMG's CORBA play an increasingly important role in contemporary software development.The primary benefits of OO application frameworks stem from the modularity, reusability, extensibility, and inversion of control they provide to developers.Frameworks enhance modularity by encapsulating volatile implementation details behind stable interfaces.Framework modularity helps improve software quality by localizing the impact of design and implementation changes, which reduces the effort required

Read the paper · More papers on PaperTik