CSC/ECE 517 Fall 2007
CSC- 517 Object-Oriented Languages and Systems
Summary of links
- Hash maps in Java vs hashes in Ruby
- Disambiguating method calls
- Compare hashes in Ruby with HashMaps in Java
- Callbacks using Ruby closure vs. Smalltalk callbacks
- Explain method_missing
- Callbacks using Ruby closure vs. Smalltalk callbacks
- Currying in Ruby
- What is currying?
- Private methods in Ruby compared with Java
- Private method invocation in Ruby
- Duck typing vs. interfaces
- Duck typing vs. interfaces and inheritance
- Mixins
- Inheritance and mixins
- Multiple inheritance and mixins
- Mixins vs. multiple inheritance
- extend method
- Using namespaces and aliases to avoid method-name conflicts
- Disambiguating multiple instances of a method
- Method missing
- Method missing
- Example of Method missing
- Example of Method missing
- Closures
- Metaprogramming in Ruby
- Metaprogramming in Ruby
- Metaprogramming in Ruby
- Aspect-oriented programming and AspectR
- Singleton in Ruby and Java
- Singleton in Ruby and Java
- Command patterns
- Command pattern
- Command pattern
- Strategy in Ruby and Java
- Strategy in Ruby and Java
- Model/View/Controller in Ruby and Java
- Inheritance vs. delegation
- Inheritance vs. delegation
- Inheritance vs. delegation
- Ruby on Rails vs. Apache Struts
- Ruby on Rails vs. Apache Struts
- Ruby on Rails vs. Apache Struts
- Object-relational mapping
- Object-relational mapping
- Object-relational mapping
- Resources on MVC
- Use cases
- Use cases
- Use cases
- CRC cards
- CRC cards
- CRC cards
- Type vs. class
- Type vs. class
- Type vs. class
- Cohesion and coupling
- Cohesion and coupling
- Cohesion and coupling
- Overloading vs. overriding
- Overloading vs. overriding
- Principle of least astonishment
- Principle of least astonishment
- Principle of least astonishment
- Observer pattern
- The agile debate
- The agile debate
- The agile debate
- The agile debate
- Support for assertions
- Support for assertions
- Examples of programming by contract
- Examples of programming by contract
- Examples of programming by contract
- Examples of programming by contract
- Separation of responsibility
- Interface segregation principle
- Separation of responsibility
- Separation of responsibility
- Separation of responsibility
- Interface segregation principle
- Interface segregation principle
- Interface segregation principle
- Interface segregation principle
- Creator pattern
- Creator pattern
- Creator pattern
- Controller pattern
- Controller pattern
- Controller pattern
- Controller pattern
- Bertrand Meyer's patterns
- Bob Martin's principles
- Bob Martin's principles
- Bob Martin's principles
- Collective ownership, continuous integration
- Collective ownership, continuous integration
- Collective ownership, continuous integration
- Collective ownership, continuous integration
- Method missing
- CSC/ECE 517 Summer 2008/wiki1
- CSC/ECE 517 Summer 2008/wiki1 1 mb
- CSC/ECE 517 Summer 2008/wiki1 1 mf
- CSC/ECE 517 Summer 2008/wiki1 1 rapodraz
- CSC/ECE 517 Summer 2008/wiki1 1 rp
- CSC/ECE 517 Summer 2008/wiki1 2 acmoore2
- CSC/ECE 517 Summer 2008/wiki1 2 i2
- CSC/ECE 517 Summer 2008/wiki1 2 itr
- CSC/ECE 517 Summer 2008/wiki1 3 aobk
- CSC/ECE 517 Summer 2008/wiki1 3 jb
- CSC/ECE 517 Summer 2008/wiki1 3 ref
- CSC/ECE 517 Summer 2008/wiki1 4 wm
- CSC/ECE 517 Summer 2008/wiki1 5 a5
- CSC/ECE 517 Summer 2008/wiki1 5 bk
- CSC/ECE 517 Summer 2008/wiki1 5 mmp
- CSC/ECE 517 Summer 2008/wiki1 6 arraysandhashes
- CSC/ECE 517 Summer 2008/wiki1 6 c9)
- CSC/ECE 517 Summer 2008/wiki1 6 jm
- CSC/ECE 517 Summer 2008/wiki1 7 ev
- CSC/ECE 517 Summer 2008/wiki1 7 n1
- CSC/ECE 517 Summer 2008/wiki1 8 dm
- CSC/ECE 517 Summer 2008/wiki1 8 smr
- CSC/ECE 517 Summer 2008/wiki1 Assignment
- CSC/ECE 517 Summer 2008/wiki2
- CSC/ECE 517 Summer 2008/wiki2 1 c9
- CSC/ECE 517 Summer 2008/wiki2 1 mf
- CSC/ECE 517 Summer 2008/wiki2 1 n1
- CSC/ECE 517 Summer 2008/wiki2 1 tm
- CSC/ECE 517 Summer 2008/wiki2 2 ao
- CSC/ECE 517 Summer 2008/wiki2 2 ar
- CSC/ECE 517 Summer 2008/wiki2 2 rapodraz
- CSC/ECE 517 Summer 2008/wiki2 3 kb
- CSC/ECE 517 Summer 2008/wiki2 3 uml
- CSC/ECE 517 Summer 2008/wiki2 4 acmoore2
- CSC/ECE 517 Summer 2008/wiki2 4 uc
- CSC/ECE 517 Summer 2008/wiki2 5 31
- CSC/ECE 517 Summer 2008/wiki2 5 mo
- CSC/ECE 517 Summer 2008/wiki2 6 cc
- CSC/ECE 517 Summer 2008/wiki2 8 Inh-Del
- CSC/ECE 517 Summer 2008/wiki2 8 jb
- CSC/ECE 517 Summer 2008/wiki2 Assignment
- CSC/ECE 517 Summer 2008/wiki2 c6 CohCoupling
- CSC/ECE 517 Summer 2008/wiki3 1 PF
- CSC/ECE 517 Summer 2008/wiki3 1 ar
- CSC/ECE 517 Summer 2008/wiki3 1 th
- CSC/ECE 517 Summer 2008/wiki3 2 acmoore2
- CSC/ECE 517 Summer 2008/wiki3 2 mb
- CSC/ECE 517 Summer 2008/wiki3 3 cd
- CSC/ECE 517 Summer 2008/wiki3 3 dm
- CSC/ECE 517 Summer 2008/wiki3 3 lc
- CSC/ECE 517 Summer 2008/wiki3 3 n1
- CSC/ECE 517 Summer 2008/wiki3 4 bk
- CSC/ECE 517 Summer 2008/wiki3 4 mb
- CSC/ECE 517 Summer 2008/wiki3 5 rp
- CSC/ECE 517 Summer 2008/wiki3 6 esb
- CSC/ECE 517 Summer 2008/wiki3 7 SHOP PAT
- CSC/ECE 517 Summer 2008/wiki3 7 shopper
- CSC/ECE 517 Summer 2008/wiki3 7 ws
- CSC/ECE 517 Summer 2008/wiki3 8 jb
- CSC/ECE 517 Summer 2008/wiki3 8 smr
- CSC/ECE 517 Summer 2008/wiki3 Assignment
- CSC/ ECE 517 Fall 2007/wiki3 5 pr
- CSC/ ECE 517 Summer 2008/wiki3 7 shop