Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object-oriented programming and design1 Object-Oriented Programming and Design Ralph Johnson

Similar presentations


Presentation on theme: "Object-oriented programming and design1 Object-Oriented Programming and Design Ralph Johnson"— Presentation transcript:

1 Object-oriented programming and design1 Object-Oriented Programming and Design Ralph Johnson rjohnson@illinois.edu

2 Object-oriented programming and design2 Goals: to learn l Principles l Patterns l Practices l “Object think” l Frameworks / Design for reuse l Reflection - using objects to implement language

3 Object-oriented programming and design3 History of Objects l Simula’67 l Smalltalk 72,74,76,78,80 l 1985 C++ (Objective C, Object Pascal) l 1986 OOPSLA l 1990 COM, CORBA l 1994 Design Patterns l 1995 Java l 2001.NET

4 Object-oriented programming and design4 Design Principles l Code to an interface rather than to an implementation l Encapsulate what varies l Open-closed Principle: Classes should be open to extension and closed to modification l Don’t Repeat Yourself (DRY) l Single Responsibility Principle l Liskov Substitution Principle: Subtypes must be substitutable for their base types

5 Object-oriented programming and design5 Smalltalk l Extreme object-oriented language l Live objects l Readable library l Strong culture l Influencial, unknown l Fun!

6 Object-oriented programming and design6 From Smalltalk l WIMP - Windows, Mice, Pointing l Model/View/Controller l Browsers l CRC cards l eXtreme Programming l Automated refactoring tools

7 Smalltalk family tree l Smalltalk-80 l ObjectWorks ->VisualWorks 1, 2, 3, 5, 7.0-7.6 l Squeak -> Squeak 4.1 -> Pharo -> CUIS l Gemstone l VisualAge for Smalltalk l Smalltalk X, Smalltalk Agents, Dolphin Object-oriented programming and design7

8 8 The class l First month is Smalltalk l Homework, often several per week l Second half of the semester is group project l Reading and writing patterns l Pharo By Example. l Design Patterns l Domain-Driven Design

9 Object-oriented programming and design9 Before next time l Get Pharo By Example www.pharobyexample.org www.pharobyexample.org l Read first three chapters, and follow along with Pharo l Get Pharo http://pharo-project.orghttp://pharo-project.org l Watch “Growing a Language” by Guy Steele at http://video.google.com/videoplay?docid=- 8860158196198824415# http://video.google.com/videoplay?docid=- 8860158196198824415#


Download ppt "Object-oriented programming and design1 Object-Oriented Programming and Design Ralph Johnson"

Similar presentations


Ads by Google