Download presentation
Presentation is loading. Please wait.
1
CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall Office hours: M-F 11:00-11:50 645-4739 alphonce@buffalo.edu
2
Announcements Exam 3 on Wednesday 11/11 –covers material from last exam up to and including Friday 11/06 Review on Monday 11/09 Exercises: FA09-CSE115-Exercises project in LectureCode repository Review session? Interest level?
3
Conference Trip OOPSLA –Object Oriented Programs, Systems, Languages and Applications Ran workshop Interesting tutorials –Real-time Java deadlines, real-time threads, garbage collection strategies runs in standard Java Virtual Machine –Erlang OTP/Design Patterns distributed and concurrent programs runs in its own Virtual Machine
4
Interesting people Barbara Liskov (Turing Award Winner) www.pmg.csail.mit.edu/~liskov/ Bjarne Stroustrupparasol.tamu.edu/people/bs/ www.research.att.com/~bs/ Guy Steeleresearch.sun.com/people/mybio.php?uid=25706 Rebecca Mercuriwww.notablesoftware.com James Grenningwww.renaissancesoftware.net Take-home message: be a student volunteer if possible attend a conference before graduating attend conferences regularly after graduating (continuing education)
5
State systems State-based system: –system’s behavior based on its current state Many systems are state-based: –Cable/Satellite TV box –Wrist-watch –Cell phone interface
7
State Diagram OFFON push button
8
State Pattern example
9
Polymorphism Behavior determined by method of object, because… it’s the object that responds: –the type of the object determines response –the type of the reference to object doesn’t
10
Polymorphism declared type of variable a supertype of actual type of object
11
Proxy Pattern Polymorphism
12
Polymorphism (in proxy pattern) context delegates method call to concrete tool
13
State Pattern delegation
14
Delegation in State code public class DeskLamp { private IState _state; public DeskLamp() { _state = new Off(); } public void pushButton() { _state.pushButton(this); } public void setState(IState s) { _state = s; }
15
Proxy Pattern delegation
16
Delegation in Proxy code public class Proxy implements ISomething { private ISomthing _target; public Proxy(ISomething t) { _target = t; } public void methodA(X x, Y y, Z z) { _target.methodA(x, y, z); } public void methodB(R r, S s) { _target.methodB(r, s); } // and so on }
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.