Estás en lo cierto con el análisis. Existen numerosos recursos que lo ayudarán a aprender los conceptos de OOP, pero lleva tiempo, estudio y experiencia saber cómo y cuándo aplicarlos. Mi consejo sería lo siguiente:
- Familiarícese con los principios de OOP, especialmente en lo que se refiere al lenguaje que utilizará. Para su caso, asegúrese de comprender todo en esta guía Acerca de Objective-C
- Saber cuándo aplicar estos principios generalmente proviene de trabajar en varios proyectos y asegurarse de tener buenos revisores que le den su opinión sobre su código. Vea si puede encontrar personas en su círculo social que puedan revisar su código.
- Pronto se dará cuenta de que mucha buena programación es identificar la categoría del problema que tiene a mano y profundizar en los patrones de diseño establecidos y elegir el correcto para el problema específico.
- Elija un libro sobre Patrones de diseño y aprenda los más comunes. Luego, busque oportunidades para incorporarlos cuando esté escribiendo sus programas. Para principiantes, puede probar algo tan ligero como Head First Design Patrones: Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson: 9780596007126: Amazon.com: Libros. Para algo más en profundidad, puede leer Gang of Four Amazon.com: Patrones de diseño: Elementos de software reutilizable orientado a objetos eBook: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Kindle Store
- Comience a extraer varios proyectos de código abierto para su plataforma / lenguaje relevante y estudie las diversas convenciones y patrones en uso. Como un paso adelante, comience a contribuir activamente con algunos de ellos para mejorar sus habilidades de programación.