5041.22 - Design Patterns with Java
Design Patterns with Java
Object-oriented programming with Java (Java 2), or other OOP programming language.
To introduce design patterns, which are general solutions to common object-oriented design problems. The use of design patterns enhances the re-usability of both design and code, and this shortens the development time and leads to better and more robust programs.
- Object-oriented terminology, relations between types, interfaces, and classes, - UML-notation, - Different categories of design patterns, - Common design patterns from the different categories, - Implementation of design patterns in Java, - The SOLID principles as landmarks to good programming habits.
Learning and teaching approaches
Lectures, examples, exercises, and home assignments.
Learning outcomes After the course the student must be able to: - identify and describe a double-digit number of the most usual design patterns, - explain when and how they can be used to solve common design problems, - interpret graphical specifications of design patterns in UML, - select and justify a design pattern for a given design problem, - customize design patterns for current applications, - implement treated design patterns in Java.
Assessment method Compulsory exercises to be evaluated as passed/not passed and a written exam to be evaluated according to the 7-point scale as the final grade for the course. Please note: All the exercises must be submitted in appointed times in order to be eligible to for the exam.
Compulsory Title: Head First Design Patterns - Building Extensible & Maintainable Object-Oriented Software Authors: Eric Freeman, Elisabeth Robson Publisher: O'Reilly Media, 2nd edition, December 2020, or later ISBN-10: 149207800X, ISBN-13: 978-1492078005). Optional Title: Design Patterns: Elements of Reusable Object-Oriented Software Author(s): Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Publisher(s): Addison-Wesley Professional, October 1994, or later ISBN: 0201633612 Possibly supplementary material to be handed out during the course.