编程思想的整理

本文深入探讨了链式、函数式及响应式三种编程思想,分别介绍了它们的特点、应用场景及实现原理,强调了理论与实践结合的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   最近看了一篇大牛写的招聘记录及相关感受,里面说到招聘的一些要求,其中提到了编程思想。之前我一直注重撸码,却忽略了撸码过程中的学习。虽然说工作中不会过多的用到相关理论,但个人觉得招聘往后还是会越来越注重理论与实践的结合。言归正传,下面说下我整理的编程思想:

链式编程思想

 链式编程其实就是通过点语法将多个操作连接成一句代码实现,提高代码的可读性。代表:Masonry框架
 例如:
 [self.coinView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(self.view).offset(60);
        make.left.mas_equalTo(self.view).offset(20);
        make.right.mas_equalTo(self.view).offset(20);
        make.bottom.mas_equalTo(self.view);
    }];

注意:block 中必须有一个返回值;

  • 实现原理:通过block返回对象本身,并更新属性的值,具体方法实现在内部。
  • 链式编程的特点:
    • 可读性强;
    • 编程性强;
    • 代码简洁;
    • 要求编程人员对业务能力强;
    • 不利于代码调试

函数式编程思想

  函数式编程是将操作写成方法,通过block实现的。跟链式编程的区别在于,链式编程是对属性block的操作,函数式编程是对以block或函数作为参数,并返回对象的一系列函数的操作。代表:AFNetworking
例如:
 BOOL isEqual = [[calcul calculate:^int(int result) {
        
        result += 5;
        result *= 5;
        return result;
        
    }] equal:^BOOL(int result) {
        
        return result == 25;
        
    }];
  • 实现原理:通过block实现,跟链式差不多,链式是在内部实现,函数式是在外部实现。
  • 函数式编程特点:
    • 必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果)

响应式编程思想

响应式编程是一种基于异步数据流概念的编程范式。无需考虑调用顺序,只需要知道考虑结果,一个事件完成,会影响其他很多事件。代表:KVO。
 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(bannerDidClick:) name:EBBannerViewDidClickNotification object:nil];
 
 -(void)bannerDidClick:(NSNotification*)noti{
    //... = noti.object
    //提示音播放停止
    [_audioPlayer stop];
}
  • 响应式编程特点
    • 无调用顺序,一件事件完成,影响其他很多事件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值