ios设计模式—策略模式
其实ios的设计模式有很多种,在实际应用中我们应该可以的去使用一些设计模式去规范和丰富我们的代码~~嘿嘿
其实策略模式就是将我们代码中的复杂逻辑抽象成一个对象去处理,这会大大减少代码量,并且去使我们的逻辑看起来更有条理。
拿if else为例可以将一个复杂的判断逻辑写到一个抽象的基类中,在其中进行判断再运用继承和多态的原理去分别执行不同的业务逻辑,这样会在控制器中减少代码量
控制器代码:通过传入判断条件去控制执行逻辑
// // ViewController.m // strategyDemo // // Created by 樊星 on 16/2/8. // Copyright © 2016年 樊星. All rights reserved. // #import "ViewController.h" #import "strategyClass.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSLog(@"\n第一次打印:%@\n第二次打印:%@",[strategyClass Type:TYPE_1],[strategyClass Type:TYPE_2]); } @end
抽象类中代码:
// // strategyClass.m // strategyDemo // // Created by 樊星 on 16/2/8. // Copyright © 2016年 樊星. All rights reserved. // #import "strategyClass.h" #import "strategyClassTYPE_1.h" #import "strategyClassTYPE_2.h" @implementation strategyClass + (id)Type:(FXType)type { if (type == TYPE_1) { return [strategyClassTYPE_1 showStr]; }else if (type == TYPE_2){ return [strategyClassTYPE_2 showStr]; }else{ return @""; } } @end
好嘞大功告成