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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.