Chapter 1 Introduction. What is a Design Pattern? Design Patterns in Smalltalk MVC

Size: px
Start display at page:

Download "Chapter 1 Introduction. What is a Design Pattern? Design Patterns in Smalltalk MVC"

Transcription

1 Chapter 1 Intrductin Designing bject-riented sftware is hard, and designing reusable bject-riented sftware is even harder. It takes a lng time fr nvices t learn what gd bject-riented design is all abut. Experienced designers evidently knw smething inexperienced nes dn't. Expert designers find recurring patterns f classes and cmmunicating bjects in many bject-riented systems, and can apply them immediately t design prblems withut having t rediscver them. Recrding experience in designing bject-riented sftware as design patterns. Design patterns make it easier t reuse successful designs and architectures. What is a Design Pattern? Christpher Alexander says, "Each pattern describes a prblem which ccurs ver and ver again in ur envirnment, and then describes the cre f the slutin t that prblem, in such a way that yu can use this slutin a millin times ver, withut ever ding it the same way twice". Fur essential elements f a pattern:: 1. The pattern name is a handle we can use t describe a design prblem, its slutins, and cnsequences in a wrd r tw. 2. The prblem describes when t apply the pattern. 3. The slutin describes the elements that make up the design, their relatinships, respnsibilities, and cllabratins 4. The cnsequences are the results and trade-ffs f applying the pattern. The design patterns are descriptins f cmmunicating bjects and classes that are custmized t slve a general design prblem in a particular cntext. Design Patterns in Smalltalk MVC Mdel is the applicatin bject View is the mdel's screen presentatin Cntrller defines the way the user interface reacts t user input. MVC decuples views and mdels by establishing a subscribe/ntify prtcl between them.

2 The design is applicable t a mre general prblem: decupling bjects s that changes t ne can affect any number f thers withut requiring the changed bject t knw details f the thers. (Observer design pattern) MVC supprts nested views with the CmpsiteView class, a subclass f View. (Cmpsite design pattern). MVC als lets yu change the way a view respnds t user input withut changing its visual presentatin by encapsulating the respnse mechanism in a Cntrller bject. (Strategy design pattern) MVC uses Factry Methd design pattern t specify the default cntrller class fr a view and Decratr design pattern t add scrlling t a view. Describing Design Patterns Pattern Name and Classificatin Intent What des the design pattern d? What is its ratinale and intent? What particular design issue r prblem des it address? Als Knwn As Mtivatin A scenari that illustrates a design prblem and hw the class and bject structures in the pattern slve the prblem. Applicability What are the situatins in which the design pattern can be applied? Structure A graphical representatin f the classes in the pattern using a ntatin based n OMT r UML. Participants The classes and/r bjects participating in the design pattern and their respnsibilities. Cllabratins Hw the participants cllabrate t carry ut their respnsibilities. Cnsequences Hw des the pattern supprt its bjectives? What are the trade-ffs and results f using the pattern? Implementatin What shuld yu be aware f when implementing the pattern? Are there language-specific issues? Sample Cde Cde fragments that illustrate hw yu might implement the pattern in particular bject-riented prgramming languages.

3 Knwn Uses Examples f the pattern fund in real systems. Related Patterns The Catalg f Design Patterns 1.0 Abstract Factry prvides an interface fr creating families f related r dependent bjects withut specifying their cncrete classes. 2.0 Adapter cnverts the interface f a class int anther interface clients expect. Adapter lets classes wrk tgether that culdn't therwise because f incmpatible interfaces. 3.0 Bridge decuples an abstractin frm its implementatin s that the tw can vary independently. 4.0 Builder separates the cnstructin f a cmplex bject frm its representatin s that the same cnstructin prcess can create different representatins. 5.0 Chain f Respnsibility avids cupling the sender f a request t its receiver by giving mre than ne bject a chance t handle the request. Chain the receiving bjects and pass the request alng the chain until an bject handles it. 6.0 Cmmand encapsulates a request as an bject, thereby letting yu parameterize clients with different requests, queue r lg requests, and supprt undable peratins. 7.0 Cmpsite cmpses bjects int tree structures t represent part-whle hierarchies. Cmpsite lets clients treat individual bjects and cmpsitins f bjects unifrmly. 8.0 Decratr attaches additinal respnsibilities t an bject dynamically. Decratrs prvide a flexible alternative t subclassing fr extending functinality. 9.0 Facade prvides a unified interface t a set f interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier t use Factry Methd defines an interface fr creating an bject, but let subclasses decide which class t instantiate. Factry Methd lets a class defer instantiatin t subclasses Flyweight uses sharing t supprt large numbers f fine-grained bjects efficiently Interpreter, given a language, defines a representin fr its grammar alng with an interpreter that uses the representatin t interpret sentences in the language Iteratr prvides a way t access the elements f an aggregate bject sequentially withut expsing its underlying representatin Mediatr defines an bject that encapsulates hw a set f bjects interact Mement, withut vilating encapsulatin, captures and externalizes an bject's internal state s that the bject can be restred t this state later.

4 16.0 Observer defines a ne-t-many dependency between bjects s that when ne bject changes state, all its dependents are ntified and updated autmatically Prttype specifies the kinds f bjects t create using a prttypical instance, and create new bjects by cpying this prttype Prxy prvides a surrgate r placehlder fr anther bject t cntrl access t it Singletn ensures a class nly has ne instance, and prvide a glbal pint f access t it State allws an bject t alter its behavir when its internal state changes. The bject will appear t change its class Strategy defines a family f algrithms, encapsulate each ne, and make them interchangeable. Strategy lets the algrithm vary independently frm clients that use it Template Methd defines the skeletn f an algrithm in an peratin, deferring sme steps t subclasses. Template Methd lets subclasses redefine certain steps f an algrithm withut changing the algrithm's structure Visitr represents an peratin t be perfrmed n the elements f an bject structure. Visitr lets yu define a new peratin withut changing the classes f the elements n which it perates. Organizing the Catalg Purpse Creatinal Structural Behaviral Scpe Class Object Factry Methd Abstract Factry Builder Prttype Singletn Adapter Adapter Bridge Cmpsite Decratr Facade Prxy Interpreter Template Methd Chain f Respnsibility Cmmand Iteratr Mediatr Mement Flyweight Observer State Strategy Visitr

5

6 Hw Design Patterns Slve Design Prblems 1. Finding Apprpriate Objects Design patterns help yu identify less-bvius abstractins and the bjects that can capture them. 2. Determining Object Granularity Facade pattern describes hw t represent cmplete subsystems as bjects. Flyweight pattern describes hw t supprt huge numbers f bjects at the finest granularities. Abstract Factry and Builder yield bjects whse nly respnsibilities are creating ther bjects. Visitr and Cmmand yield bjects whse nly respnsibilities are t implement a request n anther bject r grup f bjects. 3. Specifying Object Interfaces The set f all signatures defined by an bject's peratins is called the interface t the bject. A type is a name used t dente a particular interface. An bject may have many types, and widely different bjects can share a type. A type is a subtype f anther if its interface cntains the interface f its supertype, r a subtype inheriting the interface f its supertype. Objects are knwn nly thrugh their interfaces. An bject's interface says nthing abut its implementatin When a request is sent t an bject, the particular peratin that's perfrmed depends n bth the request and the receiving bject. Dynamic binding: the run-time assciatin f a request t an bject and ne f its peratins. Plymrphism: dynamic binding can substitute bjects that have identical interfaces fr each ther at run-time Design patterns help yu define interfaces by identifying their key elements and the kinds f data that get sent acrss an interface. Design patterns als specify relatinships between interfaces. 4. Specifying Object Implementatins An bject's implementatin is defined by its class.

7 An abstract class is ne whse main purpse is t define a cmmn interface fr its subclasses. A mixin class is a class that's intended t prvide an ptinal interface r functinality t ther classes.

8 Class versus Interface Inheritance An bject's class defines hw the bject is implemented. An bject's type nly refers t its interface. An bject can have many types. Objects f different classes can have the same type. Relatinship between class and type: class as type (C++) vs. interface as type (Java). Class inheritance: Sub-typing + Implementatin inheritance Interface inheritance: Sub-typing nly (Plymrphism) Pure abstract classes as interfaces. Many f the design patterns depend n the distinctin between class and interface inheritances First Principle f reusable bject-riented design: Prgramming t an Interface, nt an Implementatin Class inheritance-based implementatin reuse is nly half the stry. Inheritance's ability t define families f bjects with identical interfaces is als imprtant, because plymrphism depends n it. Tw benefits t manipulating bjects slely in terms f the interface defined by abstract classes: 1. Clients remain unaware f the specific types f bjects they use, as lng as the bjects adhere t the interface that clients expect. 2. Clients remain unaware f the classes that implement these bjects. Clients nly knw abut the abstract class(es) defining the interface. Dn't declare variables t be instances f particular cncrete classes. Creatinal patterns ensure that yur system is written in terms f interfaces, nt implementatins.

9 5. Putting Reuse Mechanisms t Wrk Inheritance versus Cmpsitin White-bx reuse: class inheritance. Black-bx reuse: bject cmpsitin Class inheritance: Advantages supprted by prgramming languages, defined statically at cmpile-time and is straightfrward t use make it easier t mdify the implementatin being reused, when a subclass verrides sme but nt all peratins. Disadvantages Cannt change the implementatins/representatins inherited frm parent classes at run-time Implementatin dependency between a subclass and its parent class. Object cmpsitin Advantages Defined dynamically at run-time by referencing interfaces f bjects. Access ther bjects thugh their interfaces nly, nt break encapsulatin. Fewer implementatin dependencies. Small class hierarchies Disadvantages Mre bjects The system's behavir will depend n their interrelatinships instead f being defined in ne class The secnd principle f bject-riented design: Favr bject cmpsitin ver class inheritance. Delegatin In delegatin, tw bjects are invlved in handling a request: a receiving bject delegates peratins t its delegate. The receiver passes itself t the delegate t let the delegated peratin refer t the receiver.

10 Advantage: it makes it easy t cmpse behavirs at run-time and t change the way they're cmpsed. Disadvantage: harder t understand than mre static sftware, and run-time inefficiencies, Delegatin wrks best when it's used in standard patterns. Design patterns that use delegatin: State, Strategy, Visitr, Mediatr, Chain f Respnsibility, and Bridge patterns. 6. Relating Run-Time and Cmpile-Time Structures An bject-riented prgram's run-time structure ften bears little resemblance t its cde structure. Aggregatin Manifested at run-times. One bject wns (having) r is respnsible fr anther bject (being part). Acquaintance Manifested at cmpile-times. An bject merely knws f anther bject (assciatin, using). A weaker relatinship than aggregatin. In implementatin r cde, aggregatin and acquaintance cannt be distinct. Many design patterns capture the distinctin between cmpile-time and run-time structures explicitly.. The run-time structures aren't clear frm the cde until yu understand the patterns. 7. Designing fr Change Cmmn causes f redesign alng with the design pattern(s) that address them: 1. Creating an bject by specifying a class explicitly. Design patterns: Abstract Factry, Factry Methd, Prttype. 2. Dependence n specific peratins.. Design patterns: Chain f Respnsibility, Cmmand. 3. Dependence n hardware and sftware platfrm.. Design patterns: Abstract Factry, Bridge. 4. Dependence n bject representatins r implementatins..

11 Design patterns: Abstract Factry, Bridge, Mement, Prxy. 5. Algrithmic dependencies. Design patterns: Builder, Iteratr, Strategy, Template Methd, Visitr. 6. Tight cupling. Design patterns: Abstract Factry, Bridge, Chain f Respnsibility, Cmmand, Facade, Mediatr, Observer. Extending functinality by subclassing. Design patterns: Bridge, Chain f Respnsibility, Cmpsite, Decratr, Observer, Strategy. 7. Inability t alter classes cnveniently. Design patterns: Adapter, Decratr, Visitr. The rle design patterns play in the develpment f three brad classes f sftware: applicatin prgrams, tlkits, and framewrks. Applicatin Prgrams Internal reuse, maintainability, and extensin are high pririties. Design patterns that reduce dependencies can increase internal reuse. Design patterns make an applicatin mre maintainable when they're used t limit platfrm dependencies and t layer a system. Design patterns enhance extensibility. Tlkits (class/cmpnent libraries) Cde reuse Applicatin-general design Framewrks A framewrk is a set f cperating classes that make up a reusable design fr a specific class f sftware The framewrk dictates the architecture f yur applicatin. Framewrks emphasize design reuse ver cde reuse. Framewrks are implemented as class hierarchies.. Reuse n framewrk level leads t an inversin f cntrl between the applicatin and the sftware n which it's based. Mature framewrks usually incrprate several design patterns Design patterns vs. framewrks 1. Design patterns are mre abstract than framewrks. 2. Design patterns are smaller architectural elements than framewrks. 3. Design patterns are less specialized than framewrks.

12 Hw t Select a Design Pattern 1. Cnsider hw design patterns slve design prblems. 2. Scan Intent sectins. 3. Study hw patterns interrelate. 4. Study patterns f like purpse. 5. Examine a cause f redesign. 6. Cnsider what shuld be variable in yur design. Design Pattern Purpse Aspect(s) That Can Vary Creatinal Abstract Factry families f prduct bjects Structural Behaviral Builder Factry Methd Prttype Singletn Adapter Bridge Cmpsite Decratr Facade Flyweight Prxy Chain f Respnsibility Cmmand Interpreter Iteratr Mediatr Mement Observer State Strategy Template Methd Visitr hw a cmpsite bject gets created subclass f bject that is instantiated class f bject that is instantiated the sle instance f a class interface t an bject implementatin f an bject structure and cmpsitin f an bject respnsibilities f an bject withut subclassing interface t a subsystem strage csts f bjects hw an bject is accessed; its lcatin bject that can fulfill a request when and hw a request is fulfilled grammar and interpretatin f a language hw an aggregate's elements are accessed, traversed hw and which bjects interact with each ther what private infrmatin is stred utside an bject, and when number f bjects that depend n anther bject; hw the dependent bjects stay up t date states f an bject an algrithm steps f an algrithm peratins that can be applied t bject(s) withut changing their class(es)

13 Hw t Use a Design Pattern 1. Read the pattern nce thrugh fr an verview. Pay particular attentin t the Applicability and Cnsequences sectins t ensure the pattern is right fr yur prblem. 2. G back and study the Structure, Participants, and Cllabratins sectins. Make sure yu understand the classes and bjects in the pattern and hw they relate t ne anther. 3. Lk at the Sample Cde sectin t see a cncrete example f the pattern in cde. Studying the cde helps yu learn hw t implement the pattern. 4. Chse names fr pattern participants that are meaningful in the applicatin cntext. 5. Define the classes. 6. Define applicatin-specific names fr peratins in the pattern. 7. Implement the peratins t carry ut the respnsibilities and cllabratins in the pattern. The Implementatin sectin ffers hints t guide yu in the implementatin.

Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use.

Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use. Facade 1 Intent Prvide a unified interface t a set f interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier t use. Mtivatin Applicability Use the Facade pattern

More information

Design Patterns. Collectional Patterns. Session objectives 11/06/2012. Introduction. Composite pattern. Iterator pattern

Design Patterns. Collectional Patterns. Session objectives 11/06/2012. Introduction. Composite pattern. Iterator pattern Design Patterns By Võ Văn Hải Faculty f Infrmatin Technlgies HUI Cllectinal Patterns Sessin bjectives Intrductin Cmpsite pattern Iteratr pattern 2 1 Intrductin Cllectinal patterns primarily: Deal with

More information

Sometimes it's necessary to issue requests to objects without knowing anything about the operation being requested or the receiver of the request.

Sometimes it's necessary to issue requests to objects without knowing anything about the operation being requested or the receiver of the request. Cmmand 1 Intent Encapsulate a request as an bject, thereby letting yu parameterize clients with different requests, queue r lg requests, and supprt undable peratins. Als Knwn As Actin, Transactin Mtivatin

More information

Proliferating interconnections tend to reduce object reuse. It can be difficult to change the system's behavior in any significant way.

Proliferating interconnections tend to reduce object reuse. It can be difficult to change the system's behavior in any significant way. Mediatr 1 Intent Define an bject that encapsulates hw a set f bjects interact. Mediatr prmtes lse cupling by keeping bjects frm referring t each ther explicitly, and it lets yu vary their interactin independently.

More information

One reason for controlling access to an object is to defer the full cost of its creation and initialization until we actually need to use it.

One reason for controlling access to an object is to defer the full cost of its creation and initialization until we actually need to use it. Prxy 1 Intent Prvide a surrgate r placehlder fr anther bject t cntrl access t it. Als Knwn As Surrgate Mtivatin One reasn fr cntrlling access t an bject is t defer the full cst f its creatin and initializatin

More information

Visitor. Intent. Motivation

Visitor. Intent. Motivation Visitr 1 Intent Represent an peratin t be perfrmed n the elements f an bject structure. Visitr lets yu define a new peratin withut changing the classes f the elements n which it perates. Mtivatin Applicability

More information

Common Language Runtime

Common Language Runtime Intrductin t.net framewrk.net is a general-purpse sftware develpment platfrm, similar t Java. Micrsft intrduced.net with purpse f bridging gap between different applicatins..net framewrk aims at cmbining

More information

UML : MODELS, VIEWS, AND DIAGRAMS

UML : MODELS, VIEWS, AND DIAGRAMS UML : MODELS, VIEWS, AND DIAGRAMS Purpse and Target Grup f a Mdel In real life we ften bserve that the results f cumbersme, tedius, and expensive mdeling simply disappear in a stack f paper n smene's desk.

More information

Composition class is responsible for maintaining and updating the linebreaks of text displayed in a text viewer.

Composition class is responsible for maintaining and updating the linebreaks of text displayed in a text viewer. Strategy 1 Intent Define a family f algrithms, encapsulate each ne, and make them interchangeable. Strategy lets the algrithm vary independently frm clients that use it. Als Knwn As Plicy Mtivatin The

More information

Separate the construction of a complex object from its representation so that the same construction process can create different representations.

Separate the construction of a complex object from its representation so that the same construction process can create different representations. Builder 1 Intent Separate the cnstructin f a cmplex bject frm its representatin s that the same cnstructin prcess can create different representatins. Mtivatin. Applicability The algrithm fr creating a

More information

Chain of Responsibility

Chain of Responsibility Chain f Respnsibility 1 Intent Avid cupling the sender f a request t its receiver by giving mre than ne bject a chance t handle the request. Chain the receiving bjects and pass the request alng the chain

More information

Synoptic Display Studio Developers Guide

Synoptic Display Studio Developers Guide Synptic Display Studi Develpers Guide Table f Cntents 1. Intrductin... 3 2. Cntributing widgets... 4 2.1. Cncepts... 4 2.2. Defining the mdel... 5 2.2.1. Prvide a widget mdel... 5 2.2.2. Define a widget

More information

Infrastructure Series

Infrastructure Series Infrastructure Series TechDc WebSphere Message Brker / IBM Integratin Bus Parallel Prcessing (Aggregatin) (Message Flw Develpment) February 2015 Authr(s): - IBM Message Brker - Develpment Parallel Prcessing

More information

Proper Document Usage and Document Distribution. TIP! How to Use the Guide. Managing the News Page

Proper Document Usage and Document Distribution. TIP! How to Use the Guide. Managing the News Page Managing the News Page TABLE OF CONTENTS: The News Page Key Infrmatin Area fr Members... 2 Newsletter Articles... 3 Adding Newsletter as Individual Articles... 3 Adding a Newsletter Created Externally...

More information

McGill University School of Computer Science COMP-206. Software Systems. Due: September 29, 2008 on WEB CT at 23:55.

McGill University School of Computer Science COMP-206. Software Systems. Due: September 29, 2008 on WEB CT at 23:55. Schl f Cmputer Science McGill University Schl f Cmputer Science COMP-206 Sftware Systems Due: September 29, 2008 n WEB CT at 23:55 Operating Systems This assignment explres the Unix perating system and

More information

Procurement Contract Portal. User Guide

Procurement Contract Portal. User Guide Prcurement Cntract Prtal User Guide Cntents Intrductin...2 Access the Prtal...2 Hme Page...2 End User My Cntracts...2 Buttns, Icns, and the Actin Bar...3 Create a New Cntract Request...5 Requester Infrmatin...5

More information

Log shipping is a HA option. Log shipping ensures that log backups from Primary are

Log shipping is a HA option. Log shipping ensures that log backups from Primary are LOG SHIPPING Lg shipping is a HA ptin. Lg shipping ensures that lg backups frm Primary are cntinuusly applied n standby. Lg shipping fllws a warm standby methd because manual prcess is invlved t ensure

More information

These tasks can now be performed by a special program called FTP clients.

These tasks can now be performed by a special program called FTP clients. FTP Cmmander FAQ: Intrductin FTP (File Transfer Prtcl) was first used in Unix systems a lng time ag t cpy and mve shared files. With the develpment f the Internet, FTP became widely used t uplad and dwnlad

More information

Andrid prgramming curse Data strage Sessin bjectives Internal Strage Intrductin By Võ Văn Hải Faculty f Infrmatin Technlgies Andrid prvides several ptins fr yu t save persistent applicatin data. The slutin

More information

Contents: Module. Objectives. Lesson 1: Lesson 2: appropriately. As benefit of good. with almost any planning. it places on the.

Contents: Module. Objectives. Lesson 1: Lesson 2: appropriately. As benefit of good. with almost any planning. it places on the. 1 f 22 26/09/2016 15:58 Mdule Cnsideratins Cntents: Lessn 1: Lessn 2: Mdule Befre yu start with almst any planning. apprpriately. As benefit f gd T appreciate architecture. it places n the understanding

More information

RISKMAN REFERENCE GUIDE TO USER MANAGEMENT (Non-Network Logins)

RISKMAN REFERENCE GUIDE TO USER MANAGEMENT (Non-Network Logins) Intrductin This reference guide is aimed at managers wh will be respnsible fr managing users within RiskMan where RiskMan is nt cnfigured t use netwrk lgins. This guide is used in cnjunctin with the respective

More information

AngularJS. Unit Testing AngularJS Directives with Karma & Jasmine

AngularJS. Unit Testing AngularJS Directives with Karma & Jasmine AngularJS Unit Testing AngularJS Directives with Karma & Jasmine Directives Directives are different frm ther cmpnents they aren t used as bjects in the JavaScript cde They are used in HTML templates f

More information

CMC Blade BIOS Profile Cloning

CMC Blade BIOS Profile Cloning This white paper describes the detailed capabilities f the Chassis Management Cntrller s Blade BIOS Prfile Clning feature. Authr Crey Farrar This dcument is fr infrmatinal purpses nly and may cntain typgraphical

More information

Licensing the Core Client Access License (CAL) Suite and Enterprise CAL Suite

Licensing the Core Client Access License (CAL) Suite and Enterprise CAL Suite Vlume Licensing brief Licensing the Cre Client Access License (CAL) Suite and Enterprise CAL Suite Table f Cntents This brief applies t all Micrsft Vlume Licensing prgrams. Summary... 1 What s New in this

More information

16/07/2012. Design Patterns. By Võ Văn Hải Faculty of Information Technologies - HUI. Behavioral Patterns. Session objectives. Strategy.

16/07/2012. Design Patterns. By Võ Văn Hải Faculty of Information Technologies - HUI. Behavioral Patterns. Session objectives. Strategy. Design Patterns By Võ Văn Hải Faculty f Infrmatin Technlgies - HUI Behaviral Patterns Sessin bjectives Strategy Observer 2 1 Behaviral Patterns 3 Mtivating example - SimpleUDuck Je wrks fr a cmpany that

More information

Cisco Tetration Analytics, Release , Release Notes

Cisco Tetration Analytics, Release , Release Notes Cisc Tetratin Analytics, Release 1.102.21, Release Ntes This dcument describes the features, caveats, and limitatins fr the Cisc Tetratin Analytics sftware. Additinal prduct Release ntes are smetimes updated

More information

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1 What is a Design Pattern? Each pattern Describes a problem which occurs over and over again in our environment,and then describes the core of the problem Novelists, playwrights and other writers rarely

More information

Task 1 High-Level Object-Oriented Class Specification Create Initial Design Classes Designing Boundary Classes

Task 1 High-Level Object-Oriented Class Specification Create Initial Design Classes Designing Boundary Classes Task 1 High-Level Object-Oriented Class Specificatin This assessment task requires yu t analyse requirements and prduce a set f high-level bject-riented class specificatins fr a specific bject-riented

More information

Getting Started with the Web Designer Suite

Getting Started with the Web Designer Suite Getting Started with the Web Designer Suite The Web Designer Suite prvides yu with a slew f Dreamweaver extensins that will assist yu in the design phase f creating a website. The tls prvided in this suite

More information

INSTALLING CCRQINVOICE

INSTALLING CCRQINVOICE INSTALLING CCRQINVOICE Thank yu fr selecting CCRQInvice. This dcument prvides a quick review f hw t install CCRQInvice. Detailed instructins can be fund in the prgram manual. While this may seem like a

More information

Please contact technical support if you have questions about the directory that your organization uses for user management.

Please contact technical support if you have questions about the directory that your organization uses for user management. Overview ACTIVE DATA CALENDAR LDAP/AD IMPLEMENTATION GUIDE Active Data Calendar allws fr the use f single authenticatin fr users lgging int the administrative area f the applicatin thrugh LDAP/AD. LDAP

More information

History of Java. VM (Java Virtual Machine) What is JVM. What it does. 1. Brief history of Java 2. Java Version History

History of Java. VM (Java Virtual Machine) What is JVM. What it does. 1. Brief history of Java 2. Java Version History Histry f Java 1. Brief histry f Java 2. Java Versin Histry The histry f Java is very interesting. Java was riginally designed fr interactive televisin, but it was t advanced technlgy fr the digital cable

More information

Test Pilot User Guide

Test Pilot User Guide Test Pilt User Guide Adapted frm http://www.clearlearning.cm Accessing Assessments and Surveys Test Pilt assessments and surveys are designed t be delivered t anyne using a standard web brwser and thus

More information

Software Engineering

Software Engineering Sftware Engineering Chapter #1 Intrductin Sftware systems are abstract and intangible. Sftware engineering is an engineering discipline that is cncerned with all aspects f sftware prductin. Sftware Prducts

More information

ISTE-608 Test Out Written Exam and Practical Exam Study Guide

ISTE-608 Test Out Written Exam and Practical Exam Study Guide PAGE 1 OF 9 ISTE-608 Test Out Written Exam and Practical Exam Study Guide Written Exam: The written exam will be in the frmat f multiple chice, true/false, matching, shrt answer, and applied questins (ex.

More information

Assignment #5: Rootkit. ECE 650 Fall 2018

Assignment #5: Rootkit. ECE 650 Fall 2018 General Instructins Assignment #5: Rtkit ECE 650 Fall 2018 See curse site fr due date Updated 4/10/2018, changes nted in green 1. Yu will wrk individually n this assignment. 2. The cde fr this assignment

More information

JSR Java API for JSON Binding (JSON- B)

JSR Java API for JSON Binding (JSON- B) JSR Java API fr JSON Binding (JSON- B) Title: * Java API fr JSON Binding (JSON- B) Summary: * A standard binding layer (metadata & runtime) fr cnverting Java bjects t/frm JSON messages. Sectin 1: Identificatin

More information

San José State University College of Science / Department of Computer Science CS 151 Object-Oriented Design, Section 6, Spring 2017

San José State University College of Science / Department of Computer Science CS 151 Object-Oriented Design, Section 6, Spring 2017 San Jsé State University Cllege f Science / Department f Cmputer Science CS 151 Object-Oriented Design, Sectin 6, Spring 2017 Curse and Cntact Infrmatin Instructr: Angus Yeung, Ph.D. Office Lcatin: DH

More information

Lecture 6 -.NET Remoting

Lecture 6 -.NET Remoting Lecture 6 -.NET Remting 1. What is.net Remting?.NET Remting is a RPC technique that facilitates cmmunicatin between different applicatin dmains. It allws cmmunicatin within the same prcess, between varius

More information

Customer Information. Agilent 2100 Bioanalyzer System Startup Service G2949CA - Checklist

Customer Information. Agilent 2100 Bioanalyzer System Startup Service G2949CA - Checklist This checklist is used t prvide guidance and clarificatin n aspects f the auxillary Startup Service (G2949CA) including Security Pack Installatin and Familiarizatin f yur Agilent 2100 Bianalyzer System

More information

Assignment 10: Transaction Simulation & Crash Recovery

Assignment 10: Transaction Simulation & Crash Recovery Database Systems Instructr: Ha-Hua Chu Fall Semester, 2004 Assignment 10: Transactin Simulatin & Crash Recvery Deadline: 23:59 Jan. 5 (Wednesday), 2005 This is a grup assignment, and at mst 2 students

More information

Developing Microsoft SharePoint Server 2013 Core Solutions

Developing Microsoft SharePoint Server 2013 Core Solutions Develping Micrsft SharePint Server 2013 Cre Slutins Develping Micrsft SharePint Server 2013 Cre Slutins Curse Cde: 20488 Certificatin Exam: 70-488 Duratin: 5 Days Certificatin Track: N/A Frmat: Classrm

More information

Aloha Offshore SDLC Process

Aloha Offshore SDLC Process Alha Sftware Develpment Life Cycle Alha Offshre SDLC Prcess Alha Technlgy fllws a sftware develpment methdlgy that is derived frm Micrsft Slutins Framewrk and Ratinal Unified Prcess (RUP). Our prcess methdlgy

More information

Summary. Server environment: Subversion 1.4.6

Summary. Server environment: Subversion 1.4.6 Surce Management Tl Server Envirnment Operatin Summary In the e- gvernment standard framewrk, Subversin, an pen surce, is used as the surce management tl fr develpment envirnment. Subversin (SVN, versin

More information

Systems & Operating Systems

Systems & Operating Systems McGill University COMP-206 Sftware Systems Due: Octber 1, 2011 n WEB CT at 23:55 (tw late days, -5% each day) Systems & Operating Systems Graphical user interfaces have advanced enugh t permit sftware

More information

Overview of Data Furnisher Batch Processing

Overview of Data Furnisher Batch Processing Overview f Data Furnisher Batch Prcessing Nvember 2018 Page 1 f 9 Table f Cntents 1. Purpse... 3 2. Overview... 3 3. Batch Interface Implementatin Variatins... 4 4. Batch Interface Implementatin Stages...

More information

Quick Guide on implementing SQL Manage for SAP Business One

Quick Guide on implementing SQL Manage for SAP Business One Quick Guide n implementing SQL Manage fr SAP Business One The purpse f this dcument is t guide yu thrugh the quick prcess f implementing SQL Manage fr SAP B1 SQL Server databases. SQL Manage is a ttal

More information

San José State University College of Science / Department of Computer Science CS 151 Object-Oriented Design, Section 5, Fall 2015

San José State University College of Science / Department of Computer Science CS 151 Object-Oriented Design, Section 5, Fall 2015 Curse and Cntact Infrmatin San Jsé State University Cllege f Science / Department f Cmputer Science CS 151 Object-Oriented Design, Sectin 5, Fall 2015 Instructr: Angus Yeung, Ph.D. Office Lcatin: DH 282

More information

Developing Java Web Services. Duration: 5 days

Developing Java Web Services. Duration: 5 days QWERTYUIOP{ Develping Java Web Services Duratin: 5 days The Develping Java Web Services training class prepares Java prgrammers t develp interperable Java Web services and using SOAP, WSDL, and XML Schema.

More information

EView/400i Management Pack for Systems Center Operations Manager (SCOM)

EView/400i Management Pack for Systems Center Operations Manager (SCOM) EView/400i Management Pack fr Systems Center Operatins Manager (SCOM) Cncepts Guide Versin 7.0 July 2015 1 Legal Ntices Warranty EView Technlgy makes n warranty f any kind with regard t this manual, including,

More information

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2 UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2012 Lab 1 - Calculatr Intrductin In this lab yu will be writing yur first

More information

Users, groups, collections and submissions in DSpace. Contents

Users, groups, collections and submissions in DSpace. Contents Users, grups, cllectins and submissins in DSpace Cntents Key cncepts... 2 User accunts and authenticatin... 2 Authrisatin and privileges... 2 Resurce plicies... 2 User rles and grups... 3 Submissin wrkflws...

More information

- Replacement of a single statement with a sequence of statements(promotes regularity)

- Replacement of a single statement with a sequence of statements(promotes regularity) ALGOL - Java and C built using ALGOL 60 - Simple and cncise and elegance - Universal - Clse as pssible t mathematical ntatin - Language can describe the algrithms - Mechanically translatable t machine

More information

Extended Traceability Report for Enterprise Architect

Extended Traceability Report for Enterprise Architect Extended Traceability Reprt User Guide Extended Traceability Reprt fr Enterprise Architect Extended Traceability Reprt fr Enterprise Architect... 1 Disclaimer... 2 Dependencies... 2 Overview... 2 Limitatins

More information

An Introduction to Crescendo s Maestro Application Delivery Platform

An Introduction to Crescendo s Maestro Application Delivery Platform An Intrductin t Crescend s Maestr Applicatin Delivery Platfrm Intrductin This dcument is intended t serve as a shrt intrductin t Crescend s Maestr Platfrm and its cre features/benefits. The dcument will

More information

Pages of the Template

Pages of the Template Instructins fr Using the Oregn Grades K-3 Engineering Design Ntebk Template Draft, 12/8/2011 These instructins are fr the Oregn Grades K-3 Engineering Design Ntebk template that can be fund n the web at

More information

Update: Users are updated when their information changes (examples: Job Title or Department). o

Update: Users are updated when their information changes (examples: Job Title or Department). o Learn Basic User Integratin Batch File Prcessing The Learn Basic User Integratin is designed t manage the rganizatinal changes cmpanies are challenged with n a daily basis. Withut a basic type f integratin,

More information

spec/javaee8_community_survey_results.pdf

spec/javaee8_community_survey_results.pdf Title: Mdel- View- Cntrller (MVC 1.0) Specificatin. Summary/Descriptin: This JSR is t develp MVC 1.0, a mdel- view- cntrller specificatin fr Java EE. Duratin: 2 weeks Sectin 1: Identificatin Specificatin

More information

UFuRT: A Work-Centered Framework and Process for Design and Evaluation of Information Systems

UFuRT: A Work-Centered Framework and Process for Design and Evaluation of Information Systems In: Prceedings f HCI Internatinal 2007 UFuRT: A Wrk-Centered Framewrk and Prcess fr Design and Evaluatin f Infrmatin Systems Jiajie Zhang 1, Keith A. Butler 2 1 University f Texas at Hustn, 7000 Fannin,

More information

CS5530 Mobile/Wireless Systems Swift

CS5530 Mobile/Wireless Systems Swift Mbile/Wireless Systems Swift Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang UC. Clrad Springs cat annunce.txt_ imacs remte VNC access VNP: http://www.uccs.edu/itservices/services/netwrk-andinternet/vpn.html

More information

Lab 4. Name: Checked: Objectives:

Lab 4. Name: Checked: Objectives: Lab 4 Name: Checked: Objectives: Learn hw t test cde snippets interactively. Learn abut the Java API Practice using Randm, Math, and String methds and assrted ther methds frm the Java API Part A. Use jgrasp

More information

Andrid prgramming curse Asynchrnus Techniques Intrductin Sessin bjectives Intrductin Asynchrnus Techniques Executr Handler AsyncTask Service & IntentService AsyncQueryHandler Lader By Võ Văn Hải Faculty

More information

A Novel Description Language for Value-Added Services to enable Automated Functional Testing

A Novel Description Language for Value-Added Services to enable Automated Functional Testing A Nvel Descriptin Language fr Value-Added Services t enable Autmated Functinal Testing 21. ITG Fachtagung Mbilkmmunikatin Patrick Wacht Frankfurt University f Applied Sciences, Germany Research Grup fr

More information

1 Version Spaces. CS 478 Homework 1 SOLUTION

1 Version Spaces. CS 478 Homework 1 SOLUTION CS 478 Hmewrk SOLUTION This is a pssible slutin t the hmewrk, althugh there may be ther crrect respnses t sme f the questins. The questins are repeated in this fnt, while answers are in a mnspaced fnt.

More information

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash UiPath Autmatin Walkthrugh Walkthrugh Calculate Client Security Hash Walkthrugh Calculate Client Security Hash Start with the REFramewrk template. We start ff with a simple implementatin t demnstrate the

More information

Data Structure Interview Questions

Data Structure Interview Questions Data Structure Interview Questins A list f tp frequently asked Data Structure interview questins and answers are given belw. 1) What is Data Structure? Explain. Data structure is a way that specifies hw

More information

COP2800 Homework #3 Assignment Spring 2013

COP2800 Homework #3 Assignment Spring 2013 YOUR NAME: DATE: LAST FOUR DIGITS OF YOUR UF-ID: Please Print Clearly (Blck Letters) YOUR PARTNER S NAME: DATE: LAST FOUR DIGITS OF PARTNER S UF-ID: Please Print Clearly Date Assigned: 15 February 2013

More information

Xilinx Answer Xilinx PCI Express DMA Drivers and Software Guide

Xilinx Answer Xilinx PCI Express DMA Drivers and Software Guide Xilinx Answer 65444 Xilinx PCI Express DMA Drivers and Sftware Guide Imprtant Nte: This dwnladable PDF f an Answer Recrd is prvided t enhance its usability and readability. It is imprtant t nte that Answer

More information

Using the Swiftpage Connect List Manager

Using the Swiftpage Connect List Manager Quick Start Guide T: Using the Swiftpage Cnnect List Manager The Swiftpage Cnnect List Manager can be used t imprt yur cntacts, mdify cntact infrmatin, create grups ut f thse cntacts, filter yur cntacts

More information

PAGE NAMING STRATEGIES

PAGE NAMING STRATEGIES PAGE NAMING STRATEGIES Naming Yur Pages in SiteCatalyst May 14, 2007 Versin 1.1 CHAPTER 1 1 Page Naming The pagename variable is used t identify each page that will be tracked n the web site. If the pagename

More information

Faculty Textbook Adoption Instructions

Faculty Textbook Adoption Instructions Faculty Textbk Adptin Instructins The Bkstre has partnered with MBS Direct t prvide textbks t ur students. This partnership ffers ur students and parents mre chices while saving them mney, including ptins

More information

Java Programming Course IO

Java Programming Course IO Java Prgramming Curse IO By Võ Văn Hải Faculty f Infrmatin Technlgies Industrial University f H Chi Minh City Sessin bjectives What is an I/O stream? Types f Streams Stream class hierarchy Cntrl flw f

More information

Troubleshooting of network problems is find and solve with the help of hardware and software is called troubleshooting tools.

Troubleshooting of network problems is find and solve with the help of hardware and software is called troubleshooting tools. Q.1 What is Trubleshting Tls? List their types? Trubleshting f netwrk prblems is find and slve with the help f hardware and sftware is called trubleshting tls. Trubleshting Tls - Hardware Tls They are

More information

Preparing a REST API. Rules of REST APIs, API patterns, Typical CRUD operations

Preparing a REST API. Rules of REST APIs, API patterns, Typical CRUD operations Preparing a REST API Rules f REST APIs, API patterns, Typical CRUD peratins Rules fr a REST API Recall: REST Representatinal State Transfer REST is stateless it has n idea f any current user state r histry

More information

Maximo Reporting: Maximo-Cognos Metadata

Maximo Reporting: Maximo-Cognos Metadata Maxim Reprting: Maxim-Cgns Metadata Overview...2 Maxim Metadata...2 Reprt Object Structures...2 Maxim Metadata Mdel...4 Metadata Publishing Prcess...5 General Architecture...5 Metadata Publishing Prcess

More information

Overview. Enhancement for Policy Configuration Module

Overview. Enhancement for Policy Configuration Module Overview Digital File Plicy Management: Cnfiguratin Mdule Enhancement and Inter-applicatin Plicy Sharing Digital file plicies determine hw digital files are prcessed befre being depsited int RUcre repsitry.

More information

CSE 361S Intro to Systems Software Lab #2

CSE 361S Intro to Systems Software Lab #2 Due: Thursday, September 22, 2011 CSE 361S Intr t Systems Sftware Lab #2 Intrductin This lab will intrduce yu t the GNU tls in the Linux prgramming envirnment we will be using fr CSE 361S this semester,

More information

Second Assignment Tutorial lecture

Second Assignment Tutorial lecture Secnd Assignment Tutrial lecture INF5040 (Open Distributed Systems) Faraz German (farazg@ulrik.ui.n) Department f Infrmatics University f Osl Octber 17, 2016 Grup Cmmunicatin System Services prvided by

More information

SOLA and Lifecycle Manager Integration Guide

SOLA and Lifecycle Manager Integration Guide SOLA and Lifecycle Manager Integratin Guide SOLA and Lifecycle Manager Integratin Guide Versin: 7.0 July, 2015 Cpyright Cpyright 2015 Akana, Inc. All rights reserved. Trademarks All prduct and cmpany names

More information

Stock Affiliate API workflow

Stock Affiliate API workflow Adbe Stck Stck Affiliate API wrkflw The purpse f this dcument is t illustrate the verall prcess and technical wrkflw fr Adbe Stck partners wh want t integrate the Adbe Stck Search API int their applicatins.

More information

Admin Report Kit for Exchange Server

Admin Report Kit for Exchange Server Admin Reprt Kit fr Exchange Server Reprting tl fr Micrsft Exchange Server Prduct Overview Admin Reprt Kit fr Exchange Server (ARKES) is an Exchange Server Management and Reprting slutin that addresses

More information

Introduction to Programming ArcObjects using the Microsoft.Net Framework

Introduction to Programming ArcObjects using the Microsoft.Net Framework Intrductin t Prgramming ArcObjects using the Micrsft.Net Framewrk Three days Overview ArcObjects cmpnents are the building blcks f the ArcGIS family f prducts, and the ArcObjects libraries prvide a set

More information

OO Design for Software Engineers

OO Design for Software Engineers OO Design fr Sftware Engineers W3 : Sftware Design with Object Oriented Paradigm Feb. 5, 2006 SE203b, ECE UWO, Hamada Ghenniwa The Rad Map Intrductin t Sftware Design Sftware Design Appraches Intrductin

More information

HP Server Virtualization Solution Planning & Design

HP Server Virtualization Solution Planning & Design Cnsulting & Integratin Infrastructure Services HP Server Virtualizatin Slutin Planning & Design Service descriptin Hewlett-Packard Cnsulting & Integratin Infrastructure Cnsulting Packaged Services (HP

More information

Using the Swiftpage Connect List Manager

Using the Swiftpage Connect List Manager Quick Start Guide T: Using the Swiftpage Cnnect List Manager The Swiftpage Cnnect List Manager can be used t imprt yur cntacts, mdify cntact infrmatin, create grups ut f thse cntacts, filter yur cntacts

More information

Stealing passwords via browser refresh

Stealing passwords via browser refresh Stealing passwrds via brwser refresh Authr: Karmendra Khli [karmendra.khli@paladin.net] Date: August 07, 2004 Versin: 1.1 The brwser s back and refresh features can be used t steal passwrds frm insecurely

More information

OATS Registration and User Entitlement Guide

OATS Registration and User Entitlement Guide OATS Registratin and User Entitlement Guide The OATS Registratin and Entitlement Guide prvides the fllwing infrmatin: OATS Registratin The prcess and dcumentatin required fr a firm r Service Prvider t

More information

Andrid prgramming curse UI Overview User Interface By Võ Văn Hải Faculty f Infrmatin Technlgies All user interface elements in an Andrid app are built using View and ViewGrup bjects. A View is an bject

More information

Populate and Extract Data from Your Database

Populate and Extract Data from Your Database Ppulate and Extract Data frm Yur Database 1. Overview In this lab, yu will: 1. Check/revise yur data mdel and/r marketing material (hme page cntent) frm last week's lab. Yu will wrk with tw classmates

More information

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash UiPath Autmatin Walkthrugh Walkthrugh Calculate Client Security Hash Walkthrugh Calculate Client Security Hash Start with the REFramewrk template. We start ff with a simple implementatin t demnstrate the

More information

Bike MS My Account Guide

Bike MS My Account Guide Bike MS My Accunt Guide Utilize the tls available thrugh My Accunt! A custmizable My Accunt is available t each registered participant t help with recruiting and fundraising. Tls within My Accunt include:

More information

Software Toolbox Extender.NET Component. Development Best Practices

Software Toolbox Extender.NET Component. Development Best Practices Page 1 f 16 Sftware Tlbx Extender.NET Cmpnent Develpment Best Practices Table f Cntents Purpse... 3 Intended Audience and Assumptins Made... 4 Seeking Help... 5 Using the ErrrPrvider Cmpnent... 6 What

More information

Enrichment Design Challenge

Enrichment Design Challenge Enrichment Design Challenge 2016-2017 The ZMS design challenge ffers students a chance t develp a slutin t a real prblem faced by z keepers and staff at the Minnesta Z. Frm designing an enrichment, t engineering

More information

CAMPBELL COUNTY GILLETTE, WYOMING

CAMPBELL COUNTY GILLETTE, WYOMING CAMPBELL COUNTY GILLETTE, WYOMING System Supprt Analyst I System Supprt Analyst II Senir System Supprt Analyst Class specificatins are intended t present a descriptive list f the range f duties perfrmed

More information

CITI Technical Report 08-1 Parallel NFS Block Layout Module for Linux

CITI Technical Report 08-1 Parallel NFS Block Layout Module for Linux CITI Technical Reprt 08-1 Parallel NFS Blck Layut Mdule fr Linux William A. Adamsn, University f Michigan andrs@citi.umich.edu Frederic Isaman, University f Michigan iisaman@citi.umich.edu Jasn Glasgw,

More information

WEB LAB - Subset Extraction

WEB LAB - Subset Extraction WEB LAB - Subset Extractin Fall 2005 Authrs: Megha Siddavanahalli Swati Singhal Table f Cntents: Sl. N. Tpic Page N. 1 Abstract 2 2 Intrductin 2 3 Backgrund 2 4 Scpe and Cnstraints 3 5 Basic Subset Extractin

More information

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2 Iterative Code Design handout Style Guidelines handout

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2 Iterative Code Design handout Style Guidelines handout UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2013 Lab 1 - Calculatr Intrductin Reading Cncepts In this lab yu will be

More information

Essentials for IBM Cognos BI (V10.2) Day(s): 5. Overview

Essentials for IBM Cognos BI (V10.2) Day(s): 5. Overview Essentials fr IBM Cgns BI (V10.2) Day(s): 5 Curse Cde: B5270G Overview NOTE: This is an Instructr Led Online curse. Please d nt make any travel arrangements. IBM Cgns Educatin is nw pleased t ffer yu ur

More information

Type: System Enhancements ID Number: SE 93. Subject: Changes to Employee Address Screens. Date: June 29, 2012

Type: System Enhancements ID Number: SE 93. Subject: Changes to Employee Address Screens. Date: June 29, 2012 Type: System Enhancements ID Number: SE 93 Date: June 29, 2012 Subject: Changes t Emplyee Address Screens Suggested Audience: Human Resurce Offices Details: On July 14, 2012, Peple First will implement

More information

Date: October User guide. Integration through ONVIF driver. Partner Self-test. Prepared By: Devices & Integrations Team, Milestone Systems

Date: October User guide. Integration through ONVIF driver. Partner Self-test. Prepared By: Devices & Integrations Team, Milestone Systems Date: Octber 2018 User guide Integratin thrugh ONVIF driver. Prepared By: Devices & Integratins Team, Milestne Systems 2 Welcme t the User Guide fr Online Test Tl The aim f this dcument is t prvide guidance

More information