Observer Pattern. (Java listeners!)

Size: px
Start display at page:

Download "Observer Pattern. (Java listeners!)"

Transcription

1 Observer Pattern (Java listeners!)

2 Variable Behavior? S pose we have a SETI program searching for ETs. Originally, would notify US president when discovered life. New requirements: must also notify news agencies (to help prevent world-wide panic). SETISearch +notifypresident() Original SETISearch +notifypresident() Press +notifypress() Possible revision? What s the problem? SETISearch +notifypresident() +notifypress() Possible revision? What s the problem?

3 Wrap It? How would you do this? Possibly the Adapter pattern. adds functionality to existing class Now s pose new requirement: must send response message to ET. And later another requirement Adapters on adapters on adapters possible but awkward. And what if new behavior requires whole new class (not just a method)? SETISearch +notifypres() SETISearch2 +notifypress() SETISearch3 +sendresponse() And what if later we decide not to notify the press?

4 Another Possibility What is varying? The behavior that needs to happen when find ET. behavior = methods. Encapsulate varying methods! We ve seen an example of this e.g., Strategy Create separate class. All new behaviors inherit from this class.

5 Encapsulate Behavior Observer pattern. Make abstract class (Observer) that gets notified by SETISearch when finds ET. Contains abstract update() method. Observer performs the necessary task(s). Concrete implementations of update() do the work. Put notify() method in SETISearch class (Subject). notify() calls the update() method of the observer. Subject has to know that the Observer exists. Otherwise doesn t know who to notify. Put attach(observer o) method in Subject.

6 SETI Example SETISearch +attach(:observer) +notify() Observer +update() attach() keeps a list of all Observers that are passed to it. Can have multiple Observers. notify() calls the update() method of each Observer. The update() method contains the appropriate code. NotifyPresident +update() SendResponse +update() Modular: can add new observers without changing any code!

7 Observer and Refactoring Observer is a great pattern for design stage. Observer is less good for refactoring. Why? Major changes to structure of methods. Irritates QA because have to retest original class. Along these lines: Adapter pattern might be useful if concrete Observers (like NotifyPresident) already exist. But probably won t bother. Just rewrite class since already making other big changes.

8 Common Pattern, So Java Makes Easy interface is like an abstract class. Have an interface so that it doesn t interfere with possibility of NotifyPress needing to inherit from another class. Allows for multiple inheritance. public class SETISearch extends Observable { Now SETISearch contains the } Observable functions. public class Observable //not abstract in Java { //attach public void addobserver(observer o) { //pre-written by SUN } } //notify public void notifyobservers() { //pre-written by SUN } public interface Observer { } public void update(observable o) ; //notify public class NotifyPress implements Observer { } public void update(observable o) { } //press code gets passed the Observable object in case needs any state info from SETISearch. implements is used with interfaces. So NotifyPress could still extend another class.

9 Same as Java Listeners! This is the Java Event model. The Java ActionListener, etc. use different method names but it is the same concept. addactionlistener() for attach(). actionperformed() for update(). For example, look at the JButton. Has addactionlistener(). Then you create a ButtonListener implements ActionListener which implements the actionperformed() method. You feed your ButtonListener to the addactionlistener().

10 What Sets This Pattern Apart? Can add/remove new behaviors without changing code in the future. Different from Strategy! Strategy decides which variable behavior (method) is appropriate. Often (not always) Strategy assumes that each method does the same thing (just in a different way). heap sort bubble sort Observer does a list of (variable) actions/behaviors. Doesn t decide which is appropriate. Just does them all. Often, Observer behaviors can be radically different. send thank you pay online bill launch ICBM

11 Flexibility More flexible than adapter. Do not always have to attach the Observer! So Observer s functionality can be added/removed in each different instantiation. Adapter would require major changes to eliminate functionality (after added).

12 Another Way to Think About Observer When find ET, triggers events. NotifyPresident, NotifyPress, etc. Can t always anticipate what will need to know about the event. Will we later add a requirement to notify riot police as well? Need a technique that can handle anything that needs to know about the event. Create Observer class. Another example. GUI code. President presses nuke em button. Can you anticipate all the necessary actions when this button is pressed? What if add later requirements to ensure certain follow-up actions (e.g., send Red Cross).

13 Details Purpose: Encapsulate variability in methods, especially when they need to act after the object changes state. e.g., after the nuke em button is pressed, it changes the state variable called redalert. e.g., after the cancel button is pressed, it changes the state variable called redalert. Consequences: increased cohesion (relegate tasks to their own classes). annoying method requirements. Solution: see UML, next slide.

14 Observer UML also called Subject Observable +attach(:observer) +notify() ConcreteObservable Observer +update() ConcreteObserver +update() This is like the NotifyPresident class. This is like the SETISearch class.

15 Observer Code Example Give me an idea for a Subject class. Gimme anything! (But no inheritance.) e.g., Car Give it an instance variable with a setter (e.g., speed). Give it constructor. Now make it extend Observable. Imagine a class that might want to observe the Observable. e.g. Cop Make it implement the Observer interface. Write an update method. (e.g., println( You re busted! );) Add this Observer to Observable by attach(new Cop()) Call attach() from Car s constructor, or from elsewhere. Have the setter call the notify method to indicate a state change. public void setspeed(int speed) { this.speed = speed; if(speed > 55) notify(); //calls the Cop note notify() was pre-written } //by SUN and is part of the Observable class.

16 OK, Your Turn Two Teams Create an example of the Observer pattern. Present on board.

Programming with Java GUI components

Programming with Java GUI components Programming with Java GUI components Java includes libraries to provide multi-platform support for Graphic User Interface objects. The multi-platform aspect of this is that you can write a program on a

More information

GUI Event-Driven Programming

GUI Event-Driven Programming GUI Event-Driven Programming CSE 331 Software Design & Implementation Slides contain content by Hal Perkins and Michael Hotan 1 Outline User events and callbacks Event objects Event listeners Registering

More information

Taking Payments Online Do You Care About Your Customers?

Taking Payments Online Do You Care About Your Customers? Taking Payments Online Do You Care About Your Customers? I love the freedom of being able to sell information products and services remotely, and the ease of taking payments online. I equally love the

More information

How To Use The Command Pattern In Java.Com (Programming) To Create A Program That Is Atomic And Is Not A Command Pattern (Programmer)

How To Use The Command Pattern In Java.Com (Programming) To Create A Program That Is Atomic And Is Not A Command Pattern (Programmer) CS 342: Object-Oriented Software Development Lab Command Pattern and Combinations David L. Levine Christopher D. Gill Department of Computer Science Washington University, St. Louis levine,cdgill@cs.wustl.edu

More information

http://netbeans.org/kb/docs/java/gui-functionality.html?print=yes

http://netbeans.org/kb/docs/java/gui-functionality.html?print=yes Page 1 of 6 Introduction to GUI Building Contributed by Saleem Gul and Tomas Pavek, maintained by Ruth Kusterer and Irina Filippova This beginner tutorial teaches you how to create a simple graphical user

More information

The Basic Java Applet and JApplet

The Basic Java Applet and JApplet I2PUJ4 - Chapter 6 - Applets, HTML, and GUI s The Basic Java Applet and JApplet Rob Dempster robd@cs.ukzn.ac.za School of Computer Science University of KwaZulu-Natal Pietermaritzburg Campus I2PUJ4 - Chapter

More information

Konzepte objektorientierter Programmierung

Konzepte objektorientierter Programmierung Konzepte objektorientierter Programmierung Prof. Dr. Peter Müller Werner Dietl Software Component Technology Exercises 5: Frameworks Wintersemester 05/06 2 Homework 1 Observer Pattern From: Gamma, Helm,

More information

GUIs with Swing. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2012

GUIs with Swing. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2012 GUIs with Swing Principles of Software Construction: Objects, Design, and Concurrency Jonathan Aldrich and Charlie Garrod Fall 2012 Slides copyright 2012 by Jeffrey Eppinger, Jonathan Aldrich, William

More information

JiST Graphical User Interface Event Viewer. Mark Fong mjf21@cornell.edu

JiST Graphical User Interface Event Viewer. Mark Fong mjf21@cornell.edu JiST Graphical User Interface Event Viewer Mark Fong mjf21@cornell.edu Table of Contents JiST Graphical User Interface Event Viewer...1 Table of Contents...2 Introduction...3 What it does...3 Design...3

More information

How Scala Improved Our Java

How Scala Improved Our Java How Scala Improved Our Java Sam Reid PhET Interactive Simulations University of Colorado http://spot.colorado.edu/~reids/ PhET Interactive Simulations Provides free, open source educational science simulations

More information

Assignment # 2: Design Patterns and GUIs

Assignment # 2: Design Patterns and GUIs CSUS COLLEGE OF ENGINEERING AND COMPUTER SCIENCE Department of Computer Science CSc 133 Object-Oriented Computer Graphics Programming Spring 2014 John Clevenger Assignment # 2: Design Patterns and GUIs

More information

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards Course Title: TeenCoder: Java Programming Course ISBN: 978 0 9887070 2 3 Course Year: 2015 Note: Citation(s) listed may represent

More information

Chain of Responsibility

Chain of Responsibility Chain of Responsibility Comp-303 : Programming Techniques Lecture 21 Alexandre Denault Computer Science McGill University Winter 2004 April 1, 2004 Lecture 21 Comp 303 : Chain of Responsibility Page 1

More information

Principles of Software Construction: Objects, Design and Concurrency. GUIs with Swing. toad 15-214. Spring 2013

Principles of Software Construction: Objects, Design and Concurrency. GUIs with Swing. toad 15-214. Spring 2013 Principles of Software Construction: Objects, Design and Concurrency GUIs with Swing 15-214 toad Spring 2013 Christian Kästner Charlie Garrod School of Computer Science 2012-13 C Garrod, C Kästner, J Aldrich,

More information

Voice Mail Online User Guide

Voice Mail Online User Guide Voice Mail Online User Guide Overview Welcome to the online version of SaskTel Voice Mail that is now accessible from any computer with Internet access You can listen to, sort, forward and/or delete your

More information

Extending Desktop Applications to the Web

Extending Desktop Applications to the Web Extending Desktop Applications to the Web Arno Puder San Francisco State University Computer Science Department 1600 Holloway Avenue San Francisco, CA 94132 arno@sfsu.edu Abstract. Web applications have

More information

In all sorts of work and personal situations, you come across people

In all sorts of work and personal situations, you come across people Chapter 1 Introducing Counselling Skills In This Chapter Developing as a listening helper Realising that self-understanding is essential Discovering the challenges of ethical practice Preparing to understand

More information

UML Class Diagrams (1.8.7) 9/2/2009

UML Class Diagrams (1.8.7) 9/2/2009 8 UML Class Diagrams Java programs usually involve multiple classes, and there can be many dependencies among these classes. To fully understand a multiple class program, it is necessary to understand

More information

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

CSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus

CSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus CSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus 1. Purpose This assignment exercises how to write a peer-to-peer communicating program using non-blocking

More information

ABSTRACT. Development. Associate Professor Mark Austin Institute for Systems Research and the Department of Civil and Environmental Engineering

ABSTRACT. Development. Associate Professor Mark Austin Institute for Systems Research and the Department of Civil and Environmental Engineering ABSTRACT Title of Document: Behavioral Designs Patterns and Agile Software Development John McGahagan IV, Master, 2013 Directed By: Associate Professor Mark Austin Institute for Systems Research and the

More information

STEAM STUDENT SET: INVENTION LOG

STEAM STUDENT SET: INVENTION LOG STEAM STUDENT SET: INVENTION LOG Name: What challenge are you working on? In a sentence or two, describe the challenge you will be working on. 1. CREATE Explore new ideas and bring them to life. You can

More information

YOUR CONTROL PANEL PANEL

YOUR CONTROL PANEL PANEL YOUR CONTROL PANEL PANEL To change your pass code, please contact Frontpoint Support at: 877-602-5276 support@frontpointsecurity.com Frontpoint Support: 877-602-5276 The Control Panel: System Codes After

More information

Model-View-Controller (MVC) Design Pattern

Model-View-Controller (MVC) Design Pattern Model-View-Controller (MVC) Design Pattern Computer Science and Engineering College of Engineering The Ohio State University Lecture 23 Motivation Basic parts of any application: Data being manipulated

More information

CS330 Design Patterns - Midterm 1 - Fall 2015

CS330 Design Patterns - Midterm 1 - Fall 2015 Name: Please read all instructions carefully. The exam is closed book & no laptops / phones / computers shall be present nor be used. Please write your answers in the space provided. You may use the backs

More information

How To Build A Swing Program In Java.Java.Netbeans.Netcode.Com (For Windows) (For Linux) (Java) (Javax) (Windows) (Powerpoint) (Netbeans) (Sun) (

How To Build A Swing Program In Java.Java.Netbeans.Netcode.Com (For Windows) (For Linux) (Java) (Javax) (Windows) (Powerpoint) (Netbeans) (Sun) ( Chapter 11. Graphical User Interfaces To this point in the text, our programs have interacted with their users to two ways: The programs in Chapters 1-5, implemented in Processing, displayed graphical

More information

CS1002: COMPUTER SCIENCE OO MODELLING & DESIGN: WEEK 5

CS1002: COMPUTER SCIENCE OO MODELLING & DESIGN: WEEK 5 This Week CS1002: COMPUTER SCIENCE OO MODELLING & DESIGN: WEEK 5 School of Computer Science University of St Andrews Graham Kirby Alan Dearle More on Java classes Constructors Modifiers cdn.videogum.com/img/thumbnails/photos/commenter.jpg

More information

1. Summary... 1 2. Recording triggered by SIP INFO... 1 2.1 Configurations on the phone... 1 2.2 How the SIP INFO works... 2

1. Summary... 1 2. Recording triggered by SIP INFO... 1 2.1 Configurations on the phone... 1 2.2 How the SIP INFO works... 2 Using Call Recording Feature on Yealink SIP-T2XP Phones 1. Summary... 1 2. Recording triggered by SIP INFO... 1 2.1 Configurations on the phone... 1 2.2 How the SIP INFO works... 2 3. Recording triggered

More information

Chapter 10, Object Design II: Patterns and Design Principles

Chapter 10, Object Design II: Patterns and Design Principles Chapter 10, Object Design II: Patterns and Design Principles O O Object-Oriented Software Construction Armin B. Cremers, Tobias Rho, Holger Mügge, Daniel Speicher,, g gg, p (based on Bruegge & Dutoit)

More information

Telemarketing Selling Script for Mobile Websites

Telemarketing Selling Script for Mobile Websites Telemarketing Selling Script for Mobile Websites INTRODUCTION - - - - - - - To person who answers phone - - - - - - - Record name of company, phone Good Morning (or Good Afternoon) I would like to speak

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information

Reading and Understanding Java s API Documentation

Reading and Understanding Java s API Documentation Appendix Reading and Understanding Java s API Documentation Before Java was born, people judged programming languages solely by their structural features. Does an if statement do what you expect it to

More information

Essentials of the Java(TM) Programming Language, Part 1

Essentials of the Java(TM) Programming Language, Part 1 Essentials of the Java(TM) Programming Language, Part 1 http://developer.java.sun.com/developer...ining/programming/basicjava1/index.html Training Index Essentials of the Java TM Programming Language:

More information

How To Design Your Code In Php 5.5.2.2 (Php)

How To Design Your Code In Php 5.5.2.2 (Php) By Janne Ohtonen, August 2006 Contents PHP5 Design Patterns in a Nutshell... 1 Introduction... 3 Acknowledgments... 3 The Active Record Pattern... 4 The Adapter Pattern... 4 The Data Mapper Pattern...

More information

Greetings Keyboard Mastery Keyboarding Students! Teacher: Mrs. Wright

Greetings Keyboard Mastery Keyboarding Students! Teacher: Mrs. Wright Greetings Keyboard Mastery Keyboarding Students! Teacher: Mrs. Wright You do NOT have to turn anything in I can see your scores and grades online in my Teacher Manager. Read this syllabus carefully! Step

More information

Java Classes. GEEN163 Introduction to Computer Programming

Java Classes. GEEN163 Introduction to Computer Programming Java Classes GEEN163 Introduction to Computer Programming Never interrupt someone doing what you said couldn't be done. Amelia Earhart Classes, Objects, & Methods Object-oriented programming uses classes,

More information

Android Application Development Course Program

Android Application Development Course Program Android Application Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive data types, variables, basic operators,

More information

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1 The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose

More information

Agile Software Development

Agile Software Development Agile Software Development Lecturer: Raman Ramsin Lecture 13 Refactoring Part 3 1 Dealing with Generalization: Pull Up Constructor Body Pull Up Constructor Body You have constructors on subclasses with

More information

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE

More information

ZIMBRA CALENDAR PROFESSIONAL DEVELOPMENT CENTER. Jennifer Azzaro Online Instruction / Technology Training

ZIMBRA CALENDAR PROFESSIONAL DEVELOPMENT CENTER. Jennifer Azzaro Online Instruction / Technology Training ZIMBRA CALENDAR PROFESSIONAL DEVELOPMENT CENTER Jennifer Azzaro Online Instruction / Technology Training Know your way around Zimbra like a pro! In this session we ll look at simple solutions to common

More information

(though you shouldn t hear anything yet) You can listen through: Computer Speakers Turn them up! Dialing in by Phone Check your email!

(though you shouldn t hear anything yet) You can listen through: Computer Speakers Turn them up! Dialing in by Phone Check your email! (though you shouldn t hear anything yet) You can listen through: Computer Speakers Turn them up! Dialing in by Phone Check your email! You Haven t Budgeted Like This Improving Workflow GoToWebinar Viewer

More information

UI Performance Monitoring

UI Performance Monitoring UI Performance Monitoring SWT API to Monitor UI Delays Terry Parker, Google Contents 1. 2. 3. 4. 5. 6. 7. Definition Motivation The new API Monitoring UI Delays Diagnosing UI Delays Problems Found! Next

More information

Once you have obtained a username and password you must open one of the compatible web browsers and go to the following address to begin:

Once you have obtained a username and password you must open one of the compatible web browsers and go to the following address to begin: CONTENT MANAGER GUIDELINES Content Manager is a web-based application created by Scala that allows users to have the media they upload be sent out to individual players in many locations. It includes many

More information

Openbooks - Setting up bank feeds

Openbooks - Setting up bank feeds Openbooks - Setting up bank feeds Bank Feeds automatically import transactions from your bank account into your OpenBooks account. Instead of downloading and uploading electronic statements, just connect

More information

Social media for research: Beyond the technology

Social media for research: Beyond the technology Social media for research: Matt Rhodes 21 st April 2010 Today is about three things 1 Why tools will never solve all our problems 2 3 A dive into social media monitoring What the future could look like

More information

CIS 190: C/C++ Programming. Polymorphism

CIS 190: C/C++ Programming. Polymorphism CIS 190: C/C++ Programming Polymorphism Outline Review of Inheritance Polymorphism Car Example Virtual Functions Virtual Function Types Virtual Table Pointers Virtual Constructors/Destructors Review of

More information

A Consumer s Awareness Guide To Choosing The Right Home Security System

A Consumer s Awareness Guide To Choosing The Right Home Security System 503-577-5559 www.principlenw.com Support@PrincinpleNW.com A Consumer s Awareness Guide To Choosing The Right Home Security System Read This Short Guide To Discover What To Look For When Choosing A Security

More information

Agency Integrator TECHNOTE. igo Integration. March 2014

Agency Integrator TECHNOTE. igo Integration. March 2014 Agency Integrator TECHNOTE igo Integration Agency Integrator March 2014 This TechNote describes the Integration between Agency Integrator, and both the igo e-app and the igo Drop Ticket integration process.

More information

Terrasoft Call Centre

Terrasoft Call Centre Terrasoft Call Centre Call Centre functions. Terrasoft Call Centre provides tools for registration and analysing of incoming and outgoing calls, redirecting incoming calls to selected Terrasoft CRM users,

More information

6/21/12 Procedure to use Track-It (TI) Self Service version 10 and later

6/21/12 Procedure to use Track-It (TI) Self Service version 10 and later 6/21/12 Procedure to use Track-It (TI) Self Service version 10 and later NOTE TO FACULTY & STAFF: If you are using an HCCC-owned laptop, you will not be able to access TI from off campus using Internet

More information

Table of Contents. www.scholastic.com/bookfairs/easyscan

Table of Contents. www.scholastic.com/bookfairs/easyscan Quick Start Guide Table of Contents Equipment Setup and Break-Down 1-2 Processing a Sale 3 Payment Types 3 Tax Change 3 Scanning Items 4 Price Checks 4 Voids 4 Returns 4 Reprints 4 Gift Certificates 5

More information

Relative and Absolute Change Percentages

Relative and Absolute Change Percentages Relative and Absolute Change Percentages Ethan D. Bolker Maura M. Mast September 6, 2007 Plan Use the credit card solicitation data to address the question of measuring change. Subtraction comes naturally.

More information

Learning Remote Control Framework ADD-ON for LabVIEW

Learning Remote Control Framework ADD-ON for LabVIEW Learning Remote Control Framework ADD-ON for LabVIEW TOOLS for SMART MINDS Abstract This document introduces the RCF (Remote Control Framework) ADD-ON for LabVIEW. Purpose of this article and the documents

More information

Mortgage Trading Exchange (MTE)

Mortgage Trading Exchange (MTE) Mortgage Trading Exchange (MTE) 0871 384 0055 www.mortgage-brain.co.uk/mte Completing an application form There are two ways to access MTE to complete a form. If accessing MTE from the Launch screen of

More information

CMPT 183 Foundations of Computer Science I

CMPT 183 Foundations of Computer Science I Computer Science is no more about computers than astronomy is about telescopes. -Dijkstra CMPT 183 Foundations of Computer Science I Angel Gutierrez Fall 2013 A few questions Who has used a computer today?

More information

Rocco s Proven Phone Script. Hello. Hi. This is representing. I m assigned to the area and my company asked kdme to give you a call.

Rocco s Proven Phone Script. Hello. Hi. This is representing. I m assigned to the area and my company asked kdme to give you a call. Rocco s Proven Phone Script Hello. Hi. This is representing. I m assigned to the area and my company asked kdme to give you a call. 18 Rocco s Proven Phone Script They received your card in the mail and

More information

Copyright 2008 The Pragmatic Programmers, LLC.

Copyright 2008 The Pragmatic Programmers, LLC. Extracted from: Stripes... and Java Web Development Is Fun Again This PDF file contains pages extracted from Stripes, published by the Pragmatic Bookshelf. For more information or to purchase a paperback

More information

HOW TO GET THE MOST OUT OF YOUR ACCOUNTANT

HOW TO GET THE MOST OUT OF YOUR ACCOUNTANT Prepared by HOW TO GET THE MOST OUT OF YOUR ACCOUNTANT Do you find dealing with your accountant confusing? Not exactly sure what services an accountant can provide for you? Do you have expensive accounting

More information

Programming Methods & Java Examples

Programming Methods & Java Examples Programming Methods & Java Examples Dr Robert Harle, 2009 The following questions may be useful to work through for supervisions and/or revision. They are separated broadly by handout, but borders are

More information

Data Centre. Business Intelligence. Enterprise Computing Solutions United Kingdom. Sales Lead Portal User Guide. arrow.com

Data Centre. Business Intelligence. Enterprise Computing Solutions United Kingdom. Sales Lead Portal User Guide. arrow.com Business Intelligence Data Centre Cloud Mobility Security Enterprise Computing Solutions United Kingdom Sales Lead Portal User Guide arrow.com End-to-end Lead Generation Whether you want to reach new prospects

More information

Analysis Of Source Lines Of Code(SLOC) Metric

Analysis Of Source Lines Of Code(SLOC) Metric Analysis Of Source Lines Of Code(SLOC) Metric Kaushal Bhatt 1, Vinit Tarey 2, Pushpraj Patel 3 1,2,3 Kaushal Bhatt MITS,Datana Ujjain 1 kaushalbhatt15@gmail.com 2 vinit.tarey@gmail.com 3 pushpraj.patel@yahoo.co.in

More information

Health Care Vocabulary Lesson

Health Care Vocabulary Lesson Hello. This is AJ Hoge again. Welcome to the vocabulary lesson for Health Care. Let s start. * * * * * At the beginning of the conversation Joe and Kristin talk about a friend, Joe s friend, whose name

More information

life INSURANcE The Boring Money guide to Yes. You over there trying to avoid the subject. Listen up!

life INSURANcE The Boring Money guide to Yes. You over there trying to avoid the subject. Listen up! life The Boring Money guide to INSURANcE Yes. You over there trying to avoid the subject. Listen up! Oh puh-lease, do I have to!? Come on, let s be honest. From the second you know you re pregnant, you

More information

Software Engineering. Software Reuse. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Reuse. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Reuse Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the benefits of software reuse and some reuse problems To discuss several different

More information

After Effects CS4. Getting Started. Getting Started. Essential Training Introduction

After Effects CS4. Getting Started. Getting Started. Essential Training Introduction After Effects CS4 Essential Training Introduction Getting Started Getting Started In this section we will go over, how to import and organize footage, create new compositions, how to handle all the adjustment

More information

Design Patterns. Dennis Mancl Alcatel-Lucent Bell Labs. November 28, 2007

Design Patterns. Dennis Mancl Alcatel-Lucent Bell Labs. November 28, 2007 Design Patterns Dennis Mancl Alcatel-Lucent Bell Labs November 28, 2007 1 1 Design Patterns Outline What is a pattern? The Design Patterns Book One example pattern: Singleton Patterns versus Idioms Wrapping

More information

Topic 7A: Tides, Part II. Online Lecture: The Bulge Theory of Tides

Topic 7A: Tides, Part II. Online Lecture: The Bulge Theory of Tides 7A_2 Slide 1 Topic 7A: Tides, Part II Online Lecture: The Theory of Tides Overly Simplistic: no continents, ocean is the same depth everywhere The Theory of Tides 7A_2 Slide 2 High Tide North Pole Low

More information

Action settings and interactivity

Action settings and interactivity Interactivity in Powerpoint Powerpoint includes a small set of actions that can be set to occur when the user clicks, or simply moves the cursor over an object. These actions consist of links to other

More information

Download and Installation Instructions. Visual C# 2010 Help Library

Download and Installation Instructions. Visual C# 2010 Help Library Download and Installation Instructions for Visual C# 2010 Help Library Updated April, 2014 The Visual C# 2010 Help Library contains reference documentation and information that will provide you with extra

More information

Automated Data Collection for Usability Evaluation in Early Stages of Application Development

Automated Data Collection for Usability Evaluation in Early Stages of Application Development Automated Data Collection for Usability Evaluation in Early Stages of Application Development YONGLEI TAO School of Computing and Information Systems Grand Valley State University Allendale, MI 49401 USA

More information

Member Marketplace for Small Business A GUIDE TO GETTING STARTED

Member Marketplace for Small Business A GUIDE TO GETTING STARTED Member Marketplace for Small Business A GUIDE TO GETTING STARTED A Member Marketplace Success Story I was excited to see the Chamber roll out Member Marketplace, and I immediately took advantage of the

More information

Managing your MrSite account

Managing your MrSite account Managing your MrSite account Managing your MrSite account Welcome to MrSite we re sure you re going to have lots of success with your website, whatever you want to achieve. If you ever need to manage your

More information

Installation Manual. ihud for iracing. 1 MightyGate

Installation Manual. ihud for iracing. 1 MightyGate Installation Manual. ihud for iracing. 1 MightyGate Index 1. Step 1. Download the Plugin... 3 2. Step 2. UnZip the file downloaded from www.mightygate.com... 3 3. Step 3. Installing the Plugin... 3 4.

More information

Installing and Configuring The 3 TAB Bet Sender

Installing and Configuring The 3 TAB Bet Sender Installing and Configuring The 3 TAB Bet Sender 1 of 20 CONTENTS What is the 3 TAB Bet Sender 3 Check for Microsoft.NET 2.0 Framework 4 Installing the 3 TAB Bet Sender 5 8 STARTING AND CONFIGURING THE

More information

Integration, testing and debugging of C code together with UML-generated sources

Integration, testing and debugging of C code together with UML-generated sources Integration, testing and debugging of C code together with UML-generated sources Old C code Fig. 1: Adding tram traffic lights to a traffic intersection Introduction It will soon no longer be possible

More information

Microsoft Migrating to PowerPoint 2010 from PowerPoint 2003

Microsoft Migrating to PowerPoint 2010 from PowerPoint 2003 In This Guide Microsoft PowerPoint 2010 looks very different, so we created this guide to help you minimize the learning curve. Read on to learn key parts of the new interface, discover free PowerPoint

More information

Tutorial: Time Of Day Part 2 GUI Design in NetBeans

Tutorial: Time Of Day Part 2 GUI Design in NetBeans Tutorial: Time Of Day Part 2 GUI Design in NetBeans October 7, 2010 Author Goals Kees Hemerik / Gerard Zwaan Getting acquainted with NetBeans GUI Builder Illustrate the separation between GUI and computation

More information

Approach of Unit testing with the help of JUnit

Approach of Unit testing with the help of JUnit Approach of Unit testing with the help of JUnit Satish Mishra mishra@informatik.hu-berlin.de About me! Satish Mishra! Master of Electronics Science from India! Worked as Software Engineer,Project Manager,Quality

More information

Syllabus for CS 134 Java Programming

Syllabus for CS 134 Java Programming - Java Programming Syllabus Page 1 Syllabus for CS 134 Java Programming Computer Science Course Catalog 2000-2001: This course is an introduction to objectoriented programming using the Java language.

More information

peoplefluent APPLICANT TRACKING SYSTEM

peoplefluent APPLICANT TRACKING SYSTEM FIND AND VIEW A REQUISITION The ATS Home Screen shows a list of your requisitions in the workflow pane on the left. This screen shot shows all Open requisitions. Use the drop-down menu to choose a different

More information

Agile Testing: The Agile Test Automation Pyramid

Agile Testing: The Agile Test Automation Pyramid Agile Testing: The Agile Test Pyramid In this post, or perhaps truly an article, I want to explore a common approach for implementing an effective strategy for your overall agile automation development.

More information

Editors Comparison (NetBeans IDE, Eclipse, IntelliJ IDEA)

Editors Comparison (NetBeans IDE, Eclipse, IntelliJ IDEA) České vysoké učení technické v Praze Fakulta elektrotechnická Návrh Uživatelského Rozhraní X36NUR Editors Comparison (NetBeans IDE, Eclipse, ) May 5, 2008 Goal and purpose of test Purpose of this test

More information

The Conjectural November 2015 Transcript 1 of 5

The Conjectural November 2015 Transcript 1 of 5 The Conjectural November 2015 Transcript 1 of 5 Hello and welcome to The Conjectural an experiment to figure out a better way to decide what science news is and how we should talk about science. The data

More information

DVR GUIDE. Using your DVR/Multi-Room DVR. 1-866-WAVE-123 wavebroadband.com

DVR GUIDE. Using your DVR/Multi-Room DVR. 1-866-WAVE-123 wavebroadband.com DVR GUIDE Using your DVR/Multi-Room DVR 1-866-WAVE-123 wavebroadband.com Table of Contents Control Live TV... 4 Playback Controls... 5 Remote Control Arrow Buttons... 5 Status Bar... 5 Pause... 6 Rewind...

More information

The Rules 1. One level of indentation per method 2. Don t use the ELSE keyword 3. Wrap all primitives and Strings

The Rules 1. One level of indentation per method 2. Don t use the ELSE keyword 3. Wrap all primitives and Strings Object Calisthenics 9 steps to better software design today, by Jeff Bay http://www.xpteam.com/jeff/writings/objectcalisthenics.rtf http://www.pragprog.com/titles/twa/thoughtworks-anthology We ve all seen

More information

Session 6 Number Theory

Session 6 Number Theory Key Terms in This Session Session 6 Number Theory Previously Introduced counting numbers factor factor tree prime number New in This Session composite number greatest common factor least common multiple

More information

ANGER MANAGEMENT. A Practical Guide. ADRIAN FAUPEL ELIZABETH HERRICK and PETER SHARP

ANGER MANAGEMENT. A Practical Guide. ADRIAN FAUPEL ELIZABETH HERRICK and PETER SHARP ANGER MANAGEMENT A Practical Guide ADRIAN FAUPEL ELIZABETH HERRICK and PETER SHARP Contents Acknowledgements v SECTION ONE: WHAT IS ANGER? 1 1 Introduction 2 2 Perspectives on anger 7 3 What does anger

More information

PLAY STIMULATION CASE STUDY

PLAY STIMULATION CASE STUDY PLAY STIMULATION CASE STUDY AIMS Play stimulation work contributes towards the following 2003-2006 PSA targets: Improving social and emotional development, and Improving learning. With regard to PSA targets

More information

Introduction to Fractions

Introduction to Fractions Section 0.6 Contents: Vocabulary of Fractions A Fraction as division Undefined Values First Rules of Fractions Equivalent Fractions Building Up Fractions VOCABULARY OF FRACTIONS Simplifying Fractions Multiplying

More information

Inaugurating your books with QuickBooks is a breeze if you ve just started a business:

Inaugurating your books with QuickBooks is a breeze if you ve just started a business: Setting Up Existing Records in a New Company File APPENDIX I Inaugurating your books with QuickBooks is a breeze if you ve just started a business: your opening account balances are zero and you build

More information

THE SOFTWARE DEVELOPMENT LIFE CYCLE *The following was adapted from Glencoe s Introduction to Computer Science Using Java

THE SOFTWARE DEVELOPMENT LIFE CYCLE *The following was adapted from Glencoe s Introduction to Computer Science Using Java THE SOFTWARE DEVELOPMENT LIFE CYCLE *The following was adapted from Glencoe s Introduction to Computer Science Using Java Developing software is a very involved process, and it often requires numerous

More information

COMMONWEALTH OF PA OFFICE OF ADMINISTRATION. Human Resource Development Division. SAP LSO-AE Desk Guide 15 T H J A N U A R Y, 2 0 1 3

COMMONWEALTH OF PA OFFICE OF ADMINISTRATION. Human Resource Development Division. SAP LSO-AE Desk Guide 15 T H J A N U A R Y, 2 0 1 3 COMMONWEALTH OF PA OFFICE OF ADMINISTRATION Human Resource Development Division SAP LSO-AE Desk Guide 15 T H J A N U A R Y, 2 0 1 3 S A P L S O A U T H O R I N G E N V I R O N M E N T Authoring & Publishing

More information

Christopher Seder Affiliate Marketer

Christopher Seder Affiliate Marketer This Report Has Been Brought To You By: Christopher Seder Affiliate Marketer TABLE OF CONTENTS INTRODUCTION... 3 NOT BUILDING A LIST... 3 POOR CHOICE OF AFFILIATE PROGRAMS... 5 PUTTING TOO MANY OR TOO

More information

Page 18. Using Software To Make More Money With Surveys. Visit us on the web at: www.takesurveysforcash.com

Page 18. Using Software To Make More Money With Surveys. Visit us on the web at: www.takesurveysforcash.com Page 18 Page 1 Using Software To Make More Money With Surveys by Jason White Page 2 Introduction So you re off and running with making money by taking surveys online, good for you! The problem, as you

More information

Aspect-Oriented Programming

Aspect-Oriented Programming Aspect-Oriented Programming An Introduction to Aspect-Oriented Programming and AspectJ Niklas Påhlsson Department of Technology University of Kalmar S 391 82 Kalmar SWEDEN Topic Report for Software Engineering

More information

Details of Life Cycle Documentation. From the developers perspective: Requirements doc, functional spec, design doc, implementation doc

Details of Life Cycle Documentation. From the developers perspective: Requirements doc, functional spec, design doc, implementation doc Details of Life Cycle Documentation From the developers perspective: Requirements doc, functional spec, design doc, implementation doc A Note on Different Approaches Documentation The documents I ll describe

More information

Chapter 13 - Inheritance

Chapter 13 - Inheritance Goals Chapter 13 - Inheritance To learn about inheritance To understand how to inherit and override superclass methods To be able to invoke superclass constructors To learn about protected and package

More information

Setting Goals and Objectives

Setting Goals and Objectives Setting Goals and Objectives Lesson Plan: Duration: 50 Minutes Teaching Method: Lecture/Discussion References: Student Guide & Slide Presentation Teaching Aids/Handouts: Student Guide & Slide Presentation

More information