標籤:
其實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
好嘞大功告成
ios設計模式—策略模式