1. Component based design
  2. Feature based design
  3. Module Based design