Week9 DesignPatterns Composite
Week9 DesignPatterns Composite
Week 9
Software Engineering
Wk Lecture Practical
1 Introduction Canvas, Assessment Understand the case
Software lifecycle study.
Write the user stories.
2 Work as a group! Agile
Design the database and
Plan the work on Review of the software
the software
the UI and the requirements and design
Set the version control
Use Case Review of the OOP concepts.
diagram.
3 User Stories Git
4 Plan the work on Graphical User Interface. MVC Coding
the user stories pattern. Retrospective
Check if you are on
5 Plan the work on Create and connect the database
track.
the database to the application.
6 Plan the current From UML to C# code
task
7 Plan the current Testing – Manual and Automated
task
8-9 Retrospective. Design patterns More coding.
Plan the current Accomplish the quality.
task. Secure coding.
10 Software Validation and Double check.
Verification No new features.
Enhancements.
11 Software Maintenance.
Learning Outcomes
A few examples….
Problem - Company
Developer Developer
Problem
Gamma, E., Helm, R., Johnson, R., Vlissides, J.,Design Patterns, Elements of Reusable Object-Oriented Software, ISBN 0201633612
Composite Design Pattern
Gamma, E., Helm, R., Johnson, R., Vlissides, J.,Design Patterns, Elements of Reusable Object-Oriented Software, ISBN 0201633612
Composite Design Pattern
Component (Employee)
•declares the interface for objects in the
composition.
•implements default behavior for the interface
common to all classes, as appropriate.
• declares an interface for
accessing and managing
its child components.
• (optional) defines an
interface for accessing a
component's parent in the
recursive structure, and
implements it if that's
appropriate.
http://www.dofactory.com/net/observer-design-pattern
Composite Design Pattern
Leaf (Developer)
•represents leaf objects in
the composition. A leaf has
no children.
•defines behavior for
primitive objects in the
composition.
http://www.dofactory.com/net/observer-design-pattern
Composite Design Pattern
Composite (Manager)
•defines behavior for
components having
children.
•stores child components.
•implements child-related
operations in the
Component interface.
http://www.dofactory.com/net/observer-design-pattern
Composite Design Pattern
Client (the Company)
•manipulates objects in the
composition through the
Component interface.
http://www.dofactory.com/net/observer-design-pattern
Problem - Company
Developer Developer
Problem - Company
Developer General
Manager
Manager
Company - Implementation
http://www.dofactory.com/net/design-patterns
Questions