Soy nuevo en el desarrollo de iOS y estoy haciendo todo lo posible para aprender la "mejor" manera de hacer las cosas. (Sí, sé que es un término relativo)iOS ¿Patrón de diseño equivalente cuando proviene de un mundo C#/Java?
Vengo de un mundo de C# y Java donde hacemos cosas como inyectar dependencias a través de un contenedor IOC, usar un patrón de repositorio para acceder a datos abstractos, usar servicios de dominio y objetos para encapsular los datos y el comportamiento de la empresa, etc. Estas son las cosas que aún tengo que ver en el desarrollo de iOS. (Tal vez estoy buscando en los lugares equivocados)
Me doy cuenta de que Objective-C es un superconjunto de C y un lenguaje dinámico/poco definido que probablemente cambie el juego bastante cuando se trata de buenas prácticas de diseño . ¿Alguien puede señalarme en las direcciones de algunos libros/blogs/otros que me podrían ayudar a dar este salto mental desde un entorno fuertemente tipado y manejado a este nuevo mundo mientras mantengo mis diseños flexibles y respetando los principios SÓLIDOS?
EDITAR - Quiero ser claro aquí. No estoy preguntando cómo aprender el marco de trabajo de Cocoa y los detalles de Objective-C como un lenguaje. He encontrado muchos recursos sobre eso. Estoy buscando llevar esto al siguiente nivel, comenzar a hacer TDD y asegurarme de que los proyectos que estoy construyendo serán fáciles de extender y mantener.
Algunos de nosotros entramos en el desarrollo de iOS para alejarnos de todo ese sinsentido empresarial. :) –
@robmayoff Este tipo de cosas pueden ser exageradas, pero "sin sentido" es un poco duro. Definitivamente no queremos volver a los días del SQL integrado en todas partes, por lo que buscamos un equilibrio. De acuerdo con un enfoque equilibrado, ¿qué cosas puedes hacer para mejorar tus diseños en iOS? –
Creo que, como dice Adam, deberías comenzar mirando las API de Apple. Sus API son simples, mínimas y muy consistentes. Por ejemplo, para representar colecciones, Cocoa tiene tres clases: 'NSArray',' NSSet', y 'NSDictionary'. Compare eso con lo que ofrecen Java y algunos otros lenguajes como parte de libs estándar. También revise las charlas de la WWDC tituladas "Escritura fácil de cambiar de código", y "API Design for Cocoa and Cocoa Touch" de 2011 y 2010, respectivamente. – Anurag