zoukankan      html  css  js  c++  java
  • 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

    好嘞大功告成

  • 相关阅读:
    python2 类型转换和数值操作
    python2 实现的LED大数字效果
    Python2 基础语法(三)
    delphi操作ini文件
    [SQL]数据库还原 42000错误
    我的宝宝来了
    [DELPHI] D2009控件的安装
    DELPHI学习过程和函数
    [SQL][转载]SQL优化索引
    [SQL] SQL语句,存储过程执行时间
  • 原文地址:https://www.cnblogs.com/fanxinguu/p/5185303.html
Copyright © 2011-2022 走看看