Designing TransparentTetris

Designing classes to meet requirements is largely magic. There are many schools of thought and modeling techniques. Every application can be decomposed into classes in an infinite number of ways. The collection of classes used can have a dramatic impact on the quality and success of an implementation, yet there is no modeling technique that guarantees an optimal implementation or even a successful implementation. The best approach is to rely on the intuition of experienced application designers and copy related successful designs.

The top-level design (architecture) can reduce the complexity of the application design by breaking it into multiple subsystems that can be designed independently. This divide and conquer ...

Get Cocoa® Programming now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.