Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall Office hours: M-F 11:00-11:50 645-4739

Similar presentations


Presentation on theme: "CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall Office hours: M-F 11:00-11:50 645-4739"— Presentation transcript:

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

6

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 }


Download ppt "CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall Office hours: M-F 11:00-11:50 645-4739"

Similar presentations


Ads by Google