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|
- [[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|