• 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(@"
    第一次打印:%@
    第二次打印:%@",[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

    好嘞大功告成

  • 相关阅读:
    GNOME3启动时出错:Oh no! Something has gone wrong.Logout!
    设计模式之迭代器模式
    C#中多线程 委托的使用
    python的memcache使用如果对key设置了一个int型
    Linux select TCP并发服务器与客户端编程
    G++ 教程(转)
    汉语-词语:卓识
    汉语-词语:决断
    汉语-词语:远见
    汉语-词语:胆识
  • 原文地址:https://www.cnblogs.com/fanxinguu/p/5185303.html
Copyright © 2020-2023  润新知