Duels of the Planeswalkers: The Magic Engine : Daily MTG : Magic: The Gathering
For instance, the UI finds that a certain card is in the graveyard. It is essential that the UI sub-system does not care why the card is there, or how it got there. It is entirely a dumb client.
Related cards:
Why UML Fails to Add Value to the Design and Development Process « Learning Lisp
UML is applying an abstraction at the wrong end of the problem. It is primarily used to sketch object models for inferior languages.
The Rise of "Worse is Better"
An ancient essay on software design that, after 20 years, should still guide you for every line of code you write.
The Pragmatic Bookshelf | Tell, Don't Ask
You should endeavor to tell objects what you want them to do; do not ask them questions about their state, make a decision, and then tell them what to do.
The Goals of Scala's Design
Martin Odersky talks with Frank Sommers and Bill Venners about the compromises and most important goals in Scala's design, its object-oriented innovations, and what's in it for you.
The Origins of Scala
When Java first shipped, Bill Joy and James Gosling and the other members of the Java team thought that Java should have generics, only they didn't have the time to do a good job designing it in. So because there would be no generics in Java, at l...
Use your singletons wisely: ten years later - The Code Whisperer
While injecting the dependency appeared to make the classes more tightly coupled, it simply revealed the coupling that already existed. A was already tightly coupled to B and B to C. When we tried to inject the dependency, we made that coupling mo...
Modelling the World
The goal of modelling is to produce something substantially simpler than the world. This is achieved not through endlessly inventing new types and relationships -- in fact, it's just the opposite. It's by eliminating entities and restricting types...
Dextrose AG - The Browsergames-SDK Aves-Engine
The Aves Engine is a software development kit to generate spectacular isometric browsergames without the need for third-party plugins like Microsoft Silverlight or Adobe Flash on the end-user side.
Daring Fireball: New iPhone Developer Agreement Bans the Use of Adobe's Flash-to-iPhone Compiler
Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Application...