InfoQ Homepage OOP Content on InfoQ
-
Object Oriented JavaScript
Sara Chipps discusses using OOP with JavaScript, and polymorphism, encapsulation, inheritance, constructors, and helper functions with JQuery.
-
Clojure: The Art of Abstraction
Alex Miller presents some of the abstractions that make Clojure a great language: Collections, Sequence and Higher Order Functions, Multimethods, Protocols, Atoms, Macros, and others.
-
Classes Are Premature Optimization
Justin Love discusses the difference between the classic OOP programming model based on classes and prototypal inheritance built on objects as done in JavaScript, and how they affect performance.
-
Abstractions at Scale–Our Experiences at Twitter
Marius Eriksen considers that leaky abstractions lead to scalability issues, while those providing narrow access to explicit resources - map-reduce, shared-nothing web apps, big table - scale better.
-
The DCI Architecture: Lean and Agile at the Code Level
James Coplien explains the DCI paradigm used to better represent the user’s mental model through code, proposing a way of reintroducing architecture back to Lean and Agile projects.
-
Are We There Yet?
Rich Hickey advocates the reexamination of basic principles used today like state, identity, value, time, to create new constructs to deal with the massive parallelism and concurrency of the future.
-
Radical Simplification Through Polyglot and Poly-paradigm Programming
This presentation attacks the problem of software complexity and how various modularity paradigms (e.g., object, functions, aspects) simplify complexity and help separate concerns.
-
Making Roles Explicit
Udi Dahan, The Software Simplist as he calls himself, explains why sometimes it is not enough to apply good OOP and patterns lessons. He introduces a new principle: make roles explicit.
-
The Lego Hypothesis
For decades, software engineering has "dreamed an impossible dream", to build software as easily as building Lego houses. In this talk, James Noble imagines a world where the dream has been realized.
-
Domain-Driven Design and Domain Specific Languages
In DDD, the "ubiquitous language" is central, but it's richness and fluency is hard to render with only OO. Eric Evans shows how DDD and DSLs works together in complex business applications.
-
The Principles of Agile Design
Bob Martin presents the first of his five principles of object-oriented design, which aim to address a fundamental problem - the management of dependencies between classes.