Conceptos básicos de los patrones de fachada para el desarrollo de aplicaciones ios
Video: Desarrollo iOS con el lenguaje Swift
El patrón de fachada proporciona una interfaz única, simplificado para el uso de la funcionalidad proporcionada por el desarrollo de aplicaciones IOS. Fachadas se utilizan a menudo para simplificar el acceso a las instalaciones de un subsistema. El siguiente conjunto de código utiliza el patrón de fachada para dibujar un gráfico circular utilizando círculo, línea, y las clases de puntos para representar las empanadas.
Video: Patrón de Diseño Facade
El código comienza con el siguiente archivo de interfaz de la clase PieChart. El inicializador initWithViewAndSegments establece la vista de encerramiento del gráfico circular, el centro de coordenadas, el radio, el número de cortes, y la proporción de cada rebanada. También hay un método de sorteo que dibuja el gráfico circular en el interior de su punto de vista envolvente.
import @interface PieChart: NSObject {// variables de miembro @ privada (UIView *) enclosingView- @ private int Radio- @ private int numberOfSlices- @ pieProportions flotador privada [] -} - (id) initWithViewAndSegments: (UIView *) enclosingView: (Punto *) centro: (int) de radio: (int) numberOfSlices: flotan [] pieProportions - (void) dibujar - // Otras operaciones-d
Se puede ver lo fácil que es para un programa cliente de la clase PieChart para dibujar un gráfico circular. Todo el programa tiene que hacer es inicializar la tabla usando initWithViewAndSegments y luego llamar a dibujar.
Ahora compare el uso anterior de una fachada a la aplicación del método draw (pseudocódigo se muestra aquí), que es lo que alguien directamente a través de la línea Circle y objetos para dibujar el gráfico de sectores tendría que hacer:
@implementation PieChart ... - (void) {dibujar Círculo * = pieChartCircle [[Alloc Circle] initWithViewRadiusAndOrigin : EnclosingView: radio: Centro] -pieChartCircle.draw- // dibujar el circlefor (int k = 0- k lt; = numberOfPies-1- k ++) {// para cada piePoint * endPoint- // punto final de radio que delimita un slopeOfLine piefloat - // Calcular slopeOfLine de pieProportions [k] .// 100% = gt; 360 grados ... // Calcular punto final de la línea radial desde el origen, la pendiente // y la longitud (= radio) ... // Draw la lineLine * radialLine = [[línea alloc] initWithCoordinates: enclosingView: Centro: punto final] -oneLine.draw-} } ...
Para ser exhaustivo, mostramos las interfaces de círculo, línea y punto aquí:
Video: Tutorial | Agrega Imagenes a los Números del iPhone, iPod Touch
@interface Círculo: NSObject {// variables de miembro @ UIView privada * @ enclosingView- privada int Radio- @ private int centerX- @ int centery privada -} - (id) initWithViewRadiusAndOrigin: (UIView *) enclosingView: (int) de radio :( punto *) centro - (void) dibujar - // Otros tipos de operaciones-d @ interfaz de línea: NSObject {// variables de miembro @ punto de inicio privada *, * final} - (id) initWithCoordinates: (UIView *) enclosingView: (punto ) * inicio: (Point) * final - (void) dibujar - // Otro Punto de operaciones-d @ interfaz: NSObject {// variables de miembro @ private int x, y -} - (id) initWithCoordinates: (int) x : (int) y - d
En lo que se refiere a las técnicas y principios orientados a objetos, se puede ver claramente que Fachada utiliza ampliamente delegación. Además, si una fachada está bien diseñado, que ilustra los principios OO de ocultación de información, alta cohesión y bajo acoplamiento muy bien.