Duration: 2 days
Recommended Class Size: 10 to 20
Prerequisites: Basic to Advanced OOP understanding
Frameworks are reusable designs for an application or a subsystem expressed as a set of classes and the way that instances of these classes collaborate. A framework describes not only how to partition the responsibilities of a system among its components, but also how to think about a problem. It is therefore not only a way to reuse code, but a way to reuse design and analysis information, as well.
Frameworks are difficult to design because they are abstract. Framework designers must look at many concrete applications to ensure that the abstractions that they are designing make sense. Frameworks are difficult to learn because the user of a framework must adopt the collaborative model of the framework. It is usually not possible to learn a framework one class at a time, but instead several classes have to be learned together. Nevertheless, there is a great advantage to learning a well-designed framework, and mature frameworks (like some of the user interface frameworks) can provide order of magnitude increases in programmer productivity.
Course Objectives
- Describes what frameworks are, how to use them, and their importance
- Teaches how to design and document frameworks
- Shows how patterns can make the design process more efficient
- Discuss the evolutionary process of frameworks
- Discuss the Do’s and Don’ts of framework development