A practical, example-driven guide to GRASP principles, trade-offs, and real-world architectural decisions