














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
GoV Patterns Design, Structural Decomposition, Organization of Work, Master Slave Structure, Access Control, Management, Command Processor, View Handler, Communication, Forwarder Receiver, Client Dispatcher Server, Raman Ramsin, Lecture Slides, Patterns in Software Engineering, Department of Computer Engineering, Sharif University of Technology, Iran.
Typology: Slides
1 / 22
This page cannot be seen from the preview
Don't miss anything!















Department of Computer Engineering
1
Sharif University of Technology
^ Support a suitable decomposition of subsystems and complex components into ^ Support^ a suitable decomposition of subsystems and complex components intocooperating parts.^ ^ Whole-Part Organization of Work Organization^ of Work^ ^ Define how components collaborate together to solve a complex problem.^ ^ Master-Slave^ Access Control Access^ Control^ ^ Guard and control access to services or components.^ ^ Proxy Management^ ^ Handle homogenous collections of objects, services and components in their entirety.^ ^ Command Processor
andView Handler ^ Communication^ ^ Help to organize communication between components.^ ^ Forwarder-Receiver
Client-Dispatcher-Server
andPublisher-Subscriber Department of Computer Engineering
2
Sharif University of Technology
^ Forwarder-Receiver
,Client-Dispatcher-Server, and
Publisher-Subscriber
supports fault tolerance, parallel computationpp^
, p^
p
and computational accuracy. A
master component:
^ distributes work to identical
slave^ components, and
^ computes a final result from the results these slaves return. The^ Chain of Responsibility
,^ Command^
and^ Mediator
patterns also belong to this category.Department of Computer Engineering
4
Sharif University of Technology
^ Amaster^ component
p distributes work to identicalslave
components;
^ computes a final result from the results these slaves return.The master component provides a service that can be solved by applying The^ master component provides a service that can be solved by applyingthe 'divide and conquer' principle. Department of Computer Engineering
5
Sharif University of Technology
and^ Iterator
patterns also belong to this tcategory. Department of Computer Engineering
7
Sharif University of Technology
^ manages requests as separate objects,h d l^ th^
ti^ f th^
t^ d
^ schedules the execution of the requests, and ^ provides additional services such as the storing of request objects for later undo. View Handler:
^ allows clients to open, manipulate and dispose of views,^ ^ coordinates dependencies between views, and^ ^ organizes the update of the views.g^
p
Department of Computer Engineering
8
Sharif University of Technology
-^ Dynamics
Department of Computer Engineering
10
Sharif University of Technology
manages all views that the software system provides, allows clients to open^ manipulate and dispose of views
and
^ allows clients to open, manipulate and dispose of views, and ^ coordinates dependencies between views and organizes their update. Specific views, together with functionality for their presentation andcontrol^ are encapsulated within separate
view components
view components - one for
11
Sharif University of Technology
-^ Dynamics (1)
^ Scenario I:
The view handler creates a new view. Scenario I: The^ view handler creates a new view. Department of Computer Engineering
13
Sharif University of Technology
-^ Dynamics (2)
^ Scenario II:
The view handler organizes the tiling of views. Scenario II: The^ view handler organizes the tiling of views. Department of Computer Engineering
14
Sharif University of Technology
ibl^ f^ li^ i^
k
^ are responsible for application tasks, ^ know the names of the remote peers with which they need to communicate, and ^ use aforwarder
to send messages to other peers and a
g^ p
send messages across process boundaries, provide a general interface for sending messages, marshal and deliver messages to remote receivers, and
g^
^ map names to physical addresses. Receiver^ components: ^ are responsible for receiving messages, ^ provide a general interface for receiving messages, and ^ receive and unmarshal messages from remote forwardersDepartment of Computer Engineering
16
Sharif University of Technology
^ receive^ and unmarshal messages from remote forwarders.
Structure
Department of Computer Engineering
17
Sharif University of Technology
component to act as an intermediate layer betweenp p^
y
clients^ andservers. The dispatcher^ ^ implements a name service that allows clients to refer to servers by namesinstead of physical locations, thus providing location transparency, andinstead of physical locations, thus providing location transparency, and^ ^ is responsible for establishing the communication channel between a client anda server. Before sending a request to a server, the client
asks the dispatcher for a
communication channel.^ ^ The client uses this channel to communicate with the server.A^ id^
t^ f^ ti^ t
li^ t ^ A^ server provides a set of operations to clients.^ ^ It either registers itself or is registered with the dispatcher by its name andaddress.Department of Computer Engineering
19
Sharif University of Technology
Patterns in Software Engineering – Lecture 9 Communication: Client-Dispatcher-Server – Structure
p Department of Computer Engineering
20
Sharif University of Technology