













Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Earlier Patterns, Software Patterns, Software Design Patterns, Coad's OO Patterns, Item Description, Time Association, Event Logging, Roles Played, State over a Collection, Behavior over a Collection, Broadcast, Coad Patterns, Raman Ramsin, Lecture Slides, Patterns in Software Engineering, Department of Computer Engineering, Sharif University of Technology, Iran.
Typology: Slides
1 / 21
This page cannot be seen from the preview
Don't miss anything!














1
Sharif University of Technology
^
Patterns capture the static and dynamic structures and
^
Patterns capture the static and dynamic structures andcollaborations of successful solutions to problems that arisewhen building applications in a particular domain.
^
^
i.e., “Pattern == problem/solution pair in a context”
2
Sharif University of Technology
design pattern names, abstracts, and identifies the
^
^
They are particularly useful for articulating how and why toresolve non-functional forcesresolve non-functional forces.
^
Patterns facilitate reuse of successful software architecturesand designs.
4
Sharif University of Technology
1.^
Item Description 2
Time Association
2.^
Time Association
3.^
Event Logging
4.^
Roles Played
5.^
State over a Collection
6.^
Behavior over a Collection 7
Broadcast
5
Sharif University of Technology
7.^
Broadcast
7
Sharif University of Technology
j^
j
association" is needed. ^ A "time association" object often sends messages to itsparticipating objects to get values or get a sub-calculationparticipating objects to get values or get a sub calculationdone on its behalf. ^
Note that the association connection:^
captures the association for future queries about these objects. captures (for the sender) "to whom to send a message." ^ Use this pattern whenever the system is responsible to knowan association between two or more objects and to know ordo something about that association
8
Sharif University of Technology
do
something about that association.
^
is responsible for detecting that an event has occurred;
^
is responsible for detecting that an event has occurred;
^
is responsible for initiating a response to the event. P^
t^
f th
b^
t^
l^
th^
t'^
h^
thi
^ Part of the response may be to log the event's occurrence; when thisis the case, a "device" object sends the message "create" to the"event remembered" class to create an object with historical values. ^ A "device" object may know about some number of "eventremembered" objects; an "event remembered" object must knowabout a corresponding "device" object. ^ Use whenever an event is detected, and you need to log itsoccurrence to support after-the-fact analysis or to meet legaleq i ements
10
Sharif University of Technology
requirements.
11
Sharif University of Technology
13
Sharif University of Technology
y^
pp y
p^
object has its own state, too. ^ Use this pattern whenever there is whole-part in a businessdomain or implementation domain, and one or more attributesapply to the whole (the collection)apply to the whole (the collection).
14
Sharif University of Technology
j^
pp
collection of its "member" objects. ^ Each "member" object performs actions, knowing (by means
j^
p^
g ( y
of its attributes) how to perform, without needed coordinationwith other "member" objects. ^ Use this pattern whenever there is whole-part in a domain,and a behavior (i.e., one or more services) applies across thewhole collection. ^ Caution: make the member objects do as much as they canwith what they know; only put behavior that really appliesacross the collection up in the "collection" object.
16
Sharif University of Technology
17
Sharif University of Technology
19
Sharif University of Technology
20
Sharif University of Technology